41a02b:	e8 94 01 00 00       	call   0x41a1c4
41a030:	5e                   	pop    %esi
41a031:	5b                   	pop    %ebx
41a032:	c3                   	ret
41a033:	90                   	nop
41a034:	b0 01                	mov    $0x1,%al
41a036:	c3                   	ret
41a037:	90                   	nop
41a038:	55                   	push   %ebp
41a039:	8b ec                	mov    %esp,%ebp
41a03b:	5d                   	pop    %ebp
41a03c:	c2 08 00             	ret    $0x8
41a03f:	90                   	nop
41a040:	8b 40 10             	mov    0x10(%eax),%eax
41a043:	8b 10                	mov    (%eax),%edx
41a045:	ff 52 44             	call   *0x44(%edx)
41a048:	c3                   	ret
41a049:	8d 40 00             	lea    0x0(%eax),%eax
41a04c:	53                   	push   %ebx
41a04d:	56                   	push   %esi
41a04e:	84 d2                	test   %dl,%dl
41a050:	74 08                	je     0x41a05a
41a052:	83 c4 f0             	add    $0xfffffff0,%esp
41a055:	e8 36 95 fe ff       	call   0x403590
41a05a:	8b da                	mov    %edx,%ebx
41a05c:	8b f0                	mov    %eax,%esi
41a05e:	33 d2                	xor    %edx,%edx
41a060:	8b c6                	mov    %esi,%eax
41a062:	e8 dd f6 ff ff       	call   0x419744
41a067:	b2 01                	mov    $0x1,%dl
41a069:	a1 24 1a 41 00       	mov    0x411a24,%eax
41a06e:	e8 c9 91 fe ff       	call   0x40323c
41a073:	89 46 50             	mov    %eax,0x50(%esi)
41a076:	8b c6                	mov    %esi,%eax
41a078:	84 db                	test   %bl,%bl
41a07a:	74 0f                	je     0x41a08b
41a07c:	e8 67 95 fe ff       	call   0x4035e8
41a081:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41a088:	83 c4 0c             	add    $0xc,%esp
41a08b:	8b c6                	mov    %esi,%eax
41a08d:	5e                   	pop    %esi
41a08e:	5b                   	pop    %ebx
41a08f:	c3                   	ret
41a090:	53                   	push   %ebx
41a091:	56                   	push   %esi
41a092:	57                   	push   %edi
41a093:	e8 60 95 fe ff       	call   0x4035f8
41a098:	8b da                	mov    %edx,%ebx
41a09a:	8b f8                	mov    %eax,%edi
41a09c:	8b d3                	mov    %ebx,%edx
41a09e:	80 e2 fc             	and    $0xfc,%dl
41a0a1:	8b c7                	mov    %edi,%eax
41a0a3:	e8 e8 f6 ff ff       	call   0x419790
41a0a8:	8b 47 30             	mov    0x30(%edi),%eax
41a0ab:	85 c0                	test   %eax,%eax
41a0ad:	74 19                	je     0x41a0c8
41a0af:	8b d7                	mov    %edi,%edx
41a0b1:	e8 8e f9 ff ff       	call   0x419a44
41a0b6:	eb 10                	jmp    0x41a0c8
41a0b8:	8b c6                	mov    %esi,%eax
41a0ba:	e8 b5 9d ff ff       	call   0x413e74
41a0bf:	8b d0                	mov    %eax,%edx
41a0c1:	8b c7                	mov    %edi,%eax
41a0c3:	e8 08 01 00 00       	call   0x41a1d0
41a0c8:	8b 77 50             	mov    0x50(%edi),%esi
41a0cb:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
41a0cf:	7f e7                	jg     0x41a0b8
41a0d1:	8d 47 50             	lea    0x50(%edi),%eax
41a0d4:	e8 6b 30 ff ff       	call   0x40d144
41a0d9:	84 db                	test   %bl,%bl
41a0db:	7e 07                	jle    0x41a0e4
41a0dd:	8b c7                	mov    %edi,%eax
41a0df:	e8 fc 94 fe ff       	call   0x4035e0
41a0e4:	5f                   	pop    %edi
41a0e5:	5e                   	pop    %esi
41a0e6:	5b                   	pop    %ebx
41a0e7:	c3                   	ret
41a0e8:	33 c0                	xor    %eax,%eax
41a0ea:	c3                   	ret
41a0eb:	90                   	nop
41a0ec:	c3                   	ret
41a0ed:	8d 40 00             	lea    0x0(%eax),%eax
41a0f0:	53                   	push   %ebx
41a0f1:	56                   	push   %esi
41a0f2:	57                   	push   %edi
41a0f3:	8b d9                	mov    %ecx,%ebx
41a0f5:	8b f2                	mov    %edx,%esi
41a0f7:	8b f8                	mov    %eax,%edi
41a0f9:	8b cb                	mov    %ebx,%ecx
41a0fb:	8b d6                	mov    %esi,%edx
41a0fd:	8b c7                	mov    %edi,%eax
41a0ff:	e8 5c f9 ff ff       	call   0x419a60
41a104:	80 fb 01             	cmp    $0x1,%bl
41a107:	75 0a                	jne    0x41a113
41a109:	3b 77 30             	cmp    0x30(%edi),%esi
41a10c:	75 05                	jne    0x41a113
41a10e:	33 c0                	xor    %eax,%eax
41a110:	89 47 30             	mov    %eax,0x30(%edi)
41a113:	5f                   	pop    %edi
41a114:	5e                   	pop    %esi
41a115:	5b                   	pop    %ebx
41a116:	c3                   	ret
41a117:	90                   	nop
41a118:	c3                   	ret
41a119:	8d 40 00             	lea    0x0(%eax),%eax
41a11c:	53                   	push   %ebx
41a11d:	66 83 78 42 00       	cmpw   $0x0,0x42(%eax)
41a122:	74 0e                	je     0x41a132
41a124:	8b d8                	mov    %eax,%ebx
41a126:	8b d0                	mov    %eax,%edx
41a128:	8b 43 44             	mov    0x44(%ebx),%eax
41a12b:	ff 53 40             	call   *0x40(%ebx)
41a12e:	b0 01                	mov    $0x1,%al
41a130:	5b                   	pop    %ebx
41a131:	c3                   	ret
41a132:	33 c0                	xor    %eax,%eax
41a134:	5b                   	pop    %ebx
41a135:	c3                   	ret
41a136:	8b c0                	mov    %eax,%eax
41a138:	53                   	push   %ebx
41a139:	66 83 78 4a 00       	cmpw   $0x0,0x4a(%eax)
41a13e:	74 0e                	je     0x41a14e
41a140:	8b d8                	mov    %eax,%ebx
41a142:	8b d0                	mov    %eax,%edx
41a144:	8b 43 4c             	mov    0x4c(%ebx),%eax
41a147:	ff 53 48             	call   *0x48(%ebx)
41a14a:	b0 01                	mov    $0x1,%al
41a14c:	5b                   	pop    %ebx
41a14d:	c3                   	ret
41a14e:	33 c0                	xor    %eax,%eax
41a150:	5b                   	pop    %ebx
41a151:	c3                   	ret
41a152:	8b c0                	mov    %eax,%eax
41a154:	55                   	push   %ebp
41a155:	8b ec                	mov    %esp,%ebp
41a157:	53                   	push   %ebx
41a158:	56                   	push   %esi
41a159:	57                   	push   %edi
41a15a:	8b d8                	mov    %eax,%ebx
41a15c:	8b 45 08             	mov    0x8(%ebp),%eax
41a15f:	3b 43 40             	cmp    0x40(%ebx),%eax
41a162:	75 08                	jne    0x41a16c
41a164:	8b 45 0c             	mov    0xc(%ebp),%eax
41a167:	3b 43 44             	cmp    0x44(%ebx),%eax
41a16a:	74 3a                	je     0x41a1a6
41a16c:	8b 43 50             	mov    0x50(%ebx),%eax
41a16f:	8b 70 08             	mov    0x8(%eax),%esi
41a172:	4e                   	dec    %esi
41a173:	85 f6                	test   %esi,%esi
41a175:	7c 1c                	jl     0x41a193
41a177:	46                   	inc    %esi
41a178:	33 ff                	xor    %edi,%edi
41a17a:	ff 75 0c             	push   0xc(%ebp)
41a17d:	ff 75 08             	push   0x8(%ebp)
41a180:	8b d7                	mov    %edi,%edx
41a182:	8b 43 50             	mov    0x50(%ebx),%eax
41a185:	e8 02 9c ff ff       	call   0x413d8c
41a18a:	8b 10                	mov    (%eax),%edx
41a18c:	ff 52 10             	call   *0x10(%edx)
41a18f:	47                   	inc    %edi
41a190:	4e                   	dec    %esi
41a191:	75 e7                	jne    0x41a17a
41a193:	8b 45 08             	mov    0x8(%ebp),%eax
41a196:	89 43 40             	mov    %eax,0x40(%ebx)
41a199:	8b 45 0c             	mov    0xc(%ebp),%eax
41a19c:	89 43 44             	mov    %eax,0x44(%ebx)
41a19f:	8b c3                	mov    %ebx,%eax
41a1a1:	8b 10                	mov    (%eax),%edx
41a1a3:	ff 52 30             	call   *0x30(%edx)
41a1a6:	5f                   	pop    %edi
41a1a7:	5e                   	pop    %esi
41a1a8:	5b                   	pop    %ebx
41a1a9:	5d                   	pop    %ebp
41a1aa:	c2 08 00             	ret    $0x8
41a1ad:	8d 40 00             	lea    0x0(%eax),%eax
41a1b0:	53                   	push   %ebx
41a1b1:	66 83 78 3a 00       	cmpw   $0x0,0x3a(%eax)
41a1b6:	74 0a                	je     0x41a1c2
41a1b8:	8b d8                	mov    %eax,%ebx
41a1ba:	8b d0                	mov    %eax,%edx
41a1bc:	8b 43 3c             	mov    0x3c(%ebx),%eax
41a1bf:	ff 53 38             	call   *0x38(%ebx)
41a1c2:	5b                   	pop    %ebx
41a1c3:	c3                   	ret
41a1c4:	89 42 10             	mov    %eax,0x10(%edx)
41a1c7:	8b 40 50             	mov    0x50(%eax),%eax
41a1ca:	e8 61 9a ff ff       	call   0x413c30
41a1cf:	c3                   	ret
41a1d0:	53                   	push   %ebx
41a1d1:	56                   	push   %esi
41a1d2:	57                   	push   %edi
41a1d3:	55                   	push   %ebp
41a1d4:	8b ea                	mov    %edx,%ebp
41a1d6:	8b f8                	mov    %eax,%edi
41a1d8:	8b 47 50             	mov    0x50(%edi),%eax
41a1db:	8b 70 08             	mov    0x8(%eax),%esi
41a1de:	4e                   	dec    %esi
41a1df:	85 f6                	test   %esi,%esi
41a1e1:	7c 26                	jl     0x41a209
41a1e3:	46                   	inc    %esi
41a1e4:	33 db                	xor    %ebx,%ebx
41a1e6:	8b 47 50             	mov    0x50(%edi),%eax
41a1e9:	8b d3                	mov    %ebx,%edx
41a1eb:	e8 9c 9b ff ff       	call   0x413d8c
41a1f0:	3b e8                	cmp    %eax,%ebp
41a1f2:	75 11                	jne    0x41a205
41a1f4:	33 c0                	xor    %eax,%eax
41a1f6:	89 45 10             	mov    %eax,0x10(%ebp)
41a1f9:	8b 47 50             	mov    0x50(%edi),%eax
41a1fc:	8b d3                	mov    %ebx,%edx
41a1fe:	e8 79 9a ff ff       	call   0x413c7c
41a203:	eb 04                	jmp    0x41a209
41a205:	43                   	inc    %ebx
41a206:	4e                   	dec    %esi
41a207:	75 dd                	jne    0x41a1e6
41a209:	5d                   	pop    %ebp
41a20a:	5f                   	pop    %edi
41a20b:	5e                   	pop    %esi
41a20c:	5b                   	pop    %ebx
41a20d:	c3                   	ret
41a20e:	8b c0                	mov    %eax,%eax
41a210:	53                   	push   %ebx
41a211:	56                   	push   %esi
41a212:	8b f2                	mov    %edx,%esi
41a214:	8b d8                	mov    %eax,%ebx
41a216:	8b 43 30             	mov    0x30(%ebx),%eax
41a219:	3b f0                	cmp    %eax,%esi
41a21b:	74 1b                	je     0x41a238
41a21d:	85 c0                	test   %eax,%eax
41a21f:	74 07                	je     0x41a228
41a221:	8b d3                	mov    %ebx,%edx
41a223:	e8 1c f8 ff ff       	call   0x419a44
41a228:	8b c6                	mov    %esi,%eax
41a22a:	89 43 30             	mov    %eax,0x30(%ebx)
41a22d:	85 c0                	test   %eax,%eax
41a22f:	74 07                	je     0x41a238
41a231:	8b d3                	mov    %ebx,%edx
41a233:	e8 dc f5 ff ff       	call   0x419814
41a238:	5e                   	pop    %esi
41a239:	5b                   	pop    %ebx
41a23a:	c3                   	ret
41a23b:	90                   	nop
41a23c:	55                   	push   %ebp
41a23d:	8b ec                	mov    %esp,%ebp
41a23f:	53                   	push   %ebx
41a240:	56                   	push   %esi
41a241:	57                   	push   %edi
41a242:	84 d2                	test   %dl,%dl
41a244:	74 08                	je     0x41a24e
41a246:	83 c4 f0             	add    $0xfffffff0,%esp
41a249:	e8 42 93 fe ff       	call   0x403590
41a24e:	8b f1                	mov    %ecx,%esi
41a250:	8b da                	mov    %edx,%ebx
41a252:	8b f8                	mov    %eax,%edi
41a254:	33 d2                	xor    %edx,%edx
41a256:	8b c7                	mov    %edi,%eax
41a258:	e8 df 8f fe ff       	call   0x40323c
41a25d:	89 77 0c             	mov    %esi,0xc(%edi)
41a260:	8a 45 08             	mov    0x8(%ebp),%al
41a263:	88 47 10             	mov    %al,0x10(%edi)
41a266:	8b c7                	mov    %edi,%eax
41a268:	84 db                	test   %bl,%bl
41a26a:	74 0f                	je     0x41a27b
41a26c:	e8 77 93 fe ff       	call   0x4035e8
41a271:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41a278:	83 c4 0c             	add    $0xc,%esp
41a27b:	8b c7                	mov    %edi,%eax
41a27d:	5f                   	pop    %edi
41a27e:	5e                   	pop    %esi
41a27f:	5b                   	pop    %ebx
41a280:	5d                   	pop    %ebp
41a281:	c2 04 00             	ret    $0x4
41a284:	53                   	push   %ebx
41a285:	56                   	push   %esi
41a286:	e8 6d 93 fe ff       	call   0x4035f8
41a28b:	8b da                	mov    %edx,%ebx
41a28d:	8b f0                	mov    %eax,%esi
41a28f:	80 7e 10 01          	cmpb   $0x1,0x10(%esi)
41a293:	75 0d                	jne    0x41a2a2
41a295:	8b 46 0c             	mov    0xc(%esi),%eax
41a298:	e8 cf 8f fe ff       	call   0x40326c
41a29d:	33 c0                	xor    %eax,%eax
41a29f:	89 46 0c             	mov    %eax,0xc(%esi)
41a2a2:	8b d3                	mov    %ebx,%edx
41a2a4:	80 e2 fc             	and    $0xfc,%dl
41a2a7:	8b c6                	mov    %esi,%eax
41a2a9:	e8 ae 8f fe ff       	call   0x40325c
41a2ae:	84 db                	test   %bl,%bl
41a2b0:	7e 07                	jle    0x41a2b9
41a2b2:	8b c6                	mov    %esi,%eax
41a2b4:	e8 27 93 fe ff       	call   0x4035e0
41a2b9:	5e                   	pop    %esi
41a2ba:	5b                   	pop    %ebx
41a2bb:	c3                   	ret
41a2bc:	55                   	push   %ebp
41a2bd:	8b ec                	mov    %esp,%ebp
41a2bf:	53                   	push   %ebx
41a2c0:	56                   	push   %esi
41a2c1:	57                   	push   %edi
41a2c2:	8b 55 0c             	mov    0xc(%ebp),%edx
41a2c5:	8b 45 08             	mov    0x8(%ebp),%eax
41a2c8:	33 c9                	xor    %ecx,%ecx
41a2ca:	55                   	push   %ebp
41a2cb:	68 0b a3 41 00       	push   $0x41a30b
41a2d0:	64 ff 31             	push   %fs:(%ecx)
41a2d3:	64 89 21             	mov    %esp,%fs:(%ecx)
41a2d6:	85 d2                	test   %edx,%edx
41a2d8:	75 0f                	jne    0x41a2e9
41a2da:	bb 09 00 03 80       	mov    $0x80030009,%ebx
41a2df:	33 c0                	xor    %eax,%eax
41a2e1:	5a                   	pop    %edx
41a2e2:	59                   	pop    %ecx
41a2e3:	59                   	pop    %ecx
41a2e4:	64 89 10             	mov    %edx,%fs:(%eax)
41a2e7:	eb 31                	jmp    0x41a31a
41a2e9:	8b 40 0c             	mov    0xc(%eax),%eax
41a2ec:	8b 4d 10             	mov    0x10(%ebp),%ecx
41a2ef:	8b 18                	mov    (%eax),%ebx
41a2f1:	ff 53 0c             	call   *0xc(%ebx)
41a2f4:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
41a2f8:	74 05                	je     0x41a2ff
41a2fa:	8b 55 14             	mov    0x14(%ebp),%edx
41a2fd:	89 02                	mov    %eax,(%edx)
41a2ff:	33 db                	xor    %ebx,%ebx
41a301:	33 c0                	xor    %eax,%eax
41a303:	5a                   	pop    %edx
41a304:	59                   	pop    %ecx
41a305:	59                   	pop    %ecx
41a306:	64 89 10             	mov    %edx,%fs:(%eax)
41a309:	eb 0f                	jmp    0x41a31a
41a30b:	e9 fc 93 fe ff       	jmp    0x40370c
41a310:	bb 01 00 00 00       	mov    $0x1,%ebx
41a315:	e8 5a 97 fe ff       	call   0x403a74
41a31a:	8b c3                	mov    %ebx,%eax
41a31c:	5f                   	pop    %edi
41a31d:	5e                   	pop    %esi
41a31e:	5b                   	pop    %ebx
41a31f:	5d                   	pop    %ebp
41a320:	c2 10 00             	ret    $0x10
41a323:	90                   	nop
41a324:	55                   	push   %ebp
41a325:	8b ec                	mov    %esp,%ebp
41a327:	53                   	push   %ebx
41a328:	56                   	push   %esi
41a329:	57                   	push   %edi
41a32a:	8b 55 0c             	mov    0xc(%ebp),%edx
41a32d:	8b 45 08             	mov    0x8(%ebp),%eax
41a330:	33 c9                	xor    %ecx,%ecx
41a332:	55                   	push   %ebp
41a333:	68 73 a3 41 00       	push   $0x41a373