403efd:	e8 4f 5b 00 00       	call   0x409a51
403f02:	50                   	push   %eax
403f03:	8d 4d ec             	lea    -0x14(%ebp),%ecx
403f06:	ff 15 2c 22 41 00    	call   *0x41222c
403f0c:	8d 45 e8             	lea    -0x18(%ebp),%eax
403f0f:	50                   	push   %eax
403f10:	8d 45 e4             	lea    -0x1c(%ebp),%eax
403f13:	50                   	push   %eax
403f14:	8b cf                	mov    %edi,%ecx
403f16:	e8 6d 22 00 00       	call   0x406188
403f1b:	83 f8 01             	cmp    $0x1,%eax
403f1e:	0f 84 fd 00 00 00    	je     0x404021
403f24:	8b ce                	mov    %esi,%ecx
403f26:	e8 26 5b 00 00       	call   0x409a51
403f2b:	50                   	push   %eax
403f2c:	8d 45 dc             	lea    -0x24(%ebp),%eax
403f2f:	50                   	push   %eax
403f30:	ba 80 14 40 00       	mov    $0x401480,%edx
403f35:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403f38:	e8 85 3c 00 00       	call   0x407bc2
403f3d:	85 c0                	test   %eax,%eax
403f3f:	0f 84 f2 01 00 00    	je     0x404137
403f45:	8d 4d dc             	lea    -0x24(%ebp),%ecx
403f48:	ff 15 38 22 41 00    	call   *0x412238
403f4e:	8b 40 04             	mov    0x4(%eax),%eax
403f51:	85 c0                	test   %eax,%eax
403f53:	0f 84 de 01 00 00    	je     0x404137
403f59:	68 b8 14 40 00       	push   $0x4014b8
403f5e:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
403f61:	e8 73 1a 00 00       	call   0x4059d9
403f66:	8b f0                	mov    %eax,%esi
403f68:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
403f6c:	ff 75 dc             	push   -0x24(%ebp)
403f6f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
403f72:	e8 62 1a 00 00       	call   0x4059d9
403f77:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
403f7b:	8b 0e                	mov    (%esi),%ecx
403f7d:	85 c9                	test   %ecx,%ecx
403f7f:	74 04                	je     0x403f85
403f81:	8b 11                	mov    (%ecx),%edx
403f83:	eb 02                	jmp    0x403f87
403f85:	8b d3                	mov    %ebx,%edx
403f87:	8b 00                	mov    (%eax),%eax
403f89:	85 c0                	test   %eax,%eax
403f8b:	74 04                	je     0x403f91
403f8d:	8b 08                	mov    (%eax),%ecx
403f8f:	eb 02                	jmp    0x403f93
403f91:	8b cb                	mov    %ebx,%ecx
403f93:	8b 47 04             	mov    0x4(%edi),%eax
403f96:	8b 30                	mov    (%eax),%esi
403f98:	53                   	push   %ebx
403f99:	8d 45 e0             	lea    -0x20(%ebp),%eax
403f9c:	50                   	push   %eax
403f9d:	53                   	push   %ebx
403f9e:	53                   	push   %ebx
403f9f:	53                   	push   %ebx
403fa0:	52                   	push   %edx
403fa1:	51                   	push   %ecx
403fa2:	8b 47 04             	mov    0x4(%edi),%eax
403fa5:	50                   	push   %eax
403fa6:	8b 4e 60             	mov    0x60(%esi),%ecx
403fa9:	ff 15 20 23 41 00    	call   *0x412320
403faf:	ff 56 60             	call   *0x60(%esi)
403fb2:	8b f0                	mov    %eax,%esi
403fb4:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
403fb8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
403fbb:	e8 8f 19 00 00       	call   0x40594f
403fc0:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
403fc4:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
403fc7:	e8 83 19 00 00       	call   0x40594f
403fcc:	85 f6                	test   %esi,%esi
403fce:	0f 88 63 01 00 00    	js     0x404137
403fd4:	be 98 16 40 00       	mov    $0x401698,%esi
403fd9:	56                   	push   %esi
403fda:	8d 45 e4             	lea    -0x1c(%ebp),%eax
403fdd:	50                   	push   %eax
403fde:	ba cc 14 40 00       	mov    $0x4014cc,%edx
403fe3:	8b 4d e0             	mov    -0x20(%ebp),%ecx
403fe6:	e8 d7 3b 00 00       	call   0x407bc2
403feb:	56                   	push   %esi
403fec:	8d 45 e8             	lea    -0x18(%ebp),%eax
403fef:	50                   	push   %eax
403ff0:	ba dc 14 40 00       	mov    $0x4014dc,%edx
403ff5:	8b 4d e0             	mov    -0x20(%ebp),%ecx
403ff8:	e8 c5 3b 00 00       	call   0x407bc2
403ffd:	b9 8d 13 00 00       	mov    $0x138d,%ecx
404002:	e8 4a 5a 00 00       	call   0x409a51
404007:	50                   	push   %eax
404008:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40400b:	ff 15 2c 22 41 00    	call   *0x41222c
404011:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
404014:	ff 15 38 22 41 00    	call   *0x412238
40401a:	8b 40 04             	mov    0x4(%eax),%eax
40401d:	85 c0                	test   %eax,%eax
40401f:	74 1a                	je     0x40403b
404021:	ff 75 e8             	push   -0x18(%ebp)
404024:	ff 75 e4             	push   -0x1c(%ebp)
404027:	68 ac 14 40 00       	push   $0x4014ac
40402c:	8d 45 ec             	lea    -0x14(%ebp),%eax
40402f:	50                   	push   %eax
404030:	ff 15 04 22 41 00    	call   *0x412204
404036:	83 c4 10             	add    $0x10,%esp
404039:	eb 1d                	jmp    0x404058
40403b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40403e:	ff 15 38 22 41 00    	call   *0x412238
404044:	8b 40 04             	mov    0x4(%eax),%eax
404047:	85 c0                	test   %eax,%eax
404049:	74 0d                	je     0x404058
40404b:	8d 45 e8             	lea    -0x18(%ebp),%eax
40404e:	50                   	push   %eax
40404f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404052:	ff 15 24 22 41 00    	call   *0x412224
404058:	be e8 14 40 00       	mov    $0x4014e8,%esi
40405d:	56                   	push   %esi
40405e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404061:	ff 15 28 22 41 00    	call   *0x412228
404067:	83 f8 ff             	cmp    $0xffffffff,%eax
40406a:	74 5a                	je     0x4040c6
40406c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40406f:	ff 15 f8 21 41 00    	call   *0x4121f8
404075:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
404079:	56                   	push   %esi
40407a:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40407d:	ff 15 28 22 41 00    	call   *0x412228
404083:	50                   	push   %eax
404084:	8d 45 d4             	lea    -0x2c(%ebp),%eax
404087:	50                   	push   %eax
404088:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40408b:	ff 15 20 22 41 00    	call   *0x412220
404091:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
404095:	50                   	push   %eax
404096:	8d 4d d8             	lea    -0x28(%ebp),%ecx
404099:	ff 15 24 22 41 00    	call   *0x412224
40409f:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
4040a3:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4040a6:	ff 15 30 22 41 00    	call   *0x412230
4040ac:	8d 45 d8             	lea    -0x28(%ebp),%eax
4040af:	50                   	push   %eax
4040b0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4040b3:	ff 15 24 22 41 00    	call   *0x412224
4040b9:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4040bd:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4040c0:	ff 15 30 22 41 00    	call   *0x412230
4040c6:	51                   	push   %ecx
4040c7:	ff 75 ec             	push   -0x14(%ebp)
4040ca:	6a 07                	push   $0x7
4040cc:	8b 55 08             	mov    0x8(%ebp),%edx
4040cf:	8b 8f 80 00 00 00    	mov    0x80(%edi),%ecx
4040d5:	e8 10 52 00 00       	call   0x4092ea
4040da:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
4040e1:	eb 3a                	jmp    0x40411d
4040e3:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4040e6:	85 c9                	test   %ecx,%ecx
4040e8:	74 14                	je     0x4040fe
4040ea:	8b 01                	mov    (%ecx),%eax
4040ec:	51                   	push   %ecx
4040ed:	8b 70 08             	mov    0x8(%eax),%esi
4040f0:	8b ce                	mov    %esi,%ecx
4040f2:	ff 15 20 23 41 00    	call   *0x412320
4040f8:	ff d6                	call   *%esi
4040fa:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
4040fe:	68 0e 00 07 80       	push   $0x8007000e
404103:	ff 15 74 20 41 00    	call   *0x412074
404109:	e8 e6 56 00 00       	call   0x4097f4
40410e:	b8 14 41 40 00       	mov    $0x404114,%eax
404113:	c3                   	ret
404114:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
40411b:	33 db                	xor    %ebx,%ebx
40411d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
404120:	85 c9                	test   %ecx,%ecx
404122:	74 13                	je     0x404137
404124:	8b 01                	mov    (%ecx),%eax
404126:	51                   	push   %ecx
404127:	8b 70 08             	mov    0x8(%eax),%esi
40412a:	8b ce                	mov    %esi,%ecx
40412c:	ff 15 20 23 41 00    	call   *0x412320
404132:	ff d6                	call   *%esi
404134:	89 5d e0             	mov    %ebx,-0x20(%ebp)
404137:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40413b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40413e:	ff 15 30 22 41 00    	call   *0x412230
404144:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
404148:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40414b:	ff 15 30 22 41 00    	call   *0x412230
404151:	88 5d fc             	mov    %bl,-0x4(%ebp)
404154:	8d 4d dc             	lea    -0x24(%ebp),%ecx
404157:	ff 15 30 22 41 00    	call   *0x412230
40415d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404161:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404164:	ff 15 30 22 41 00    	call   *0x412230
40416a:	e8 8a b1 00 00       	call   0x40f2f9
40416f:	c2 08 00             	ret    $0x8
404172:	6a 3c                	push   $0x3c
404174:	b8 7e f6 40 00       	mov    $0x40f67e,%eax
404179:	e8 07 b2 00 00       	call   0x40f385
40417e:	8b f9                	mov    %ecx,%edi
404180:	8b 75 0c             	mov    0xc(%ebp),%esi
404183:	8d 4d d8             	lea    -0x28(%ebp),%ecx
404186:	ff 15 f8 21 41 00    	call   *0x4121f8
40418c:	33 db                	xor    %ebx,%ebx
40418e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
404191:	89 5d c0             	mov    %ebx,-0x40(%ebp)
404194:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
404197:	89 5d c8             	mov    %ebx,-0x38(%ebp)
40419a:	89 5d cc             	mov    %ebx,-0x34(%ebp)
40419d:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4041a0:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
4041a3:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4041a7:	8d 45 d0             	lea    -0x30(%ebp),%eax
4041aa:	50                   	push   %eax
4041ab:	ba ec 14 40 00       	mov    $0x4014ec,%edx
4041b0:	8b ce                	mov    %esi,%ecx
4041b2:	e8 c2 3b 00 00       	call   0x407d79
4041b7:	8d 45 c8             	lea    -0x38(%ebp),%eax
4041ba:	50                   	push   %eax
4041bb:	ba 0c 15 40 00       	mov    $0x40150c,%edx
4041c0:	8b ce                	mov    %esi,%ecx
4041c2:	e8 b2 3b 00 00       	call   0x407d79
4041c7:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4041ca:	03 4d c8             	add    -0x38(%ebp),%ecx
4041cd:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4041d0:	13 45 cc             	adc    -0x34(%ebp),%eax
4041d3:	89 4d c0             	mov    %ecx,-0x40(%ebp)
4041d6:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4041d9:	6a 10                	push   $0x10
4041db:	58                   	pop    %eax
4041dc:	89 45 b8             	mov    %eax,-0x48(%ebp)
4041df:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4041e2:	89 4d bc             	mov    %ecx,-0x44(%ebp)
4041e5:	85 c0                	test   %eax,%eax
4041e7:	74 0c                	je     0x4041f5
4041e9:	88 19                	mov    %bl,(%ecx)
4041eb:	41                   	inc    %ecx
4041ec:	89 4d bc             	mov    %ecx,-0x44(%ebp)
4041ef:	48                   	dec    %eax
4041f0:	89 45 b8             	mov    %eax,-0x48(%ebp)
4041f3:	eb f0                	jmp    0x4041e5
4041f5:	8d 45 dc             	lea    -0x24(%ebp),%eax
4041f8:	50                   	push   %eax
4041f9:	8d 45 c0             	lea    -0x40(%ebp),%eax
4041fc:	50                   	push   %eax
4041fd:	ff 15 00 23 41 00    	call   *0x412300
404203:	6b 45 e0 18          	imul   $0x18,-0x20(%ebp),%eax
404207:	66 8b 4d e2          	mov    -0x1e(%ebp),%cx
40420b:	66 03 c8             	add    %ax,%cx
40420e:	66 89 4d e2          	mov    %cx,-0x1e(%ebp)
404212:	0f bf 45 e6          	movswl -0x1a(%ebp),%eax
404216:	50                   	push   %eax
404217:	ff 77 68             	push   0x68(%edi)
40421a:	0f bf 45 e4          	movswl -0x1c(%ebp),%eax
40421e:	50                   	push   %eax
40421f:	ff 77 68             	push   0x68(%edi)
404222:	0f bf c1             	movswl %cx,%eax
404225:	50                   	push   %eax
404226:	68 28 15 40 00       	push   $0x401528
40422b:	8d 45 d8             	lea    -0x28(%ebp),%eax
40422e:	50                   	push   %eax
40422f:	ff 15 04 22 41 00    	call   *0x412204
404235:	83 c4 18             	add    $0x18,%esp
404238:	ff 75 d8             	push   -0x28(%ebp)
40423b:	6a 08                	push   $0x8
40423d:	8b 55 08             	mov    0x8(%ebp),%edx
404240:	8b 8f 80 00 00 00    	mov    0x80(%edi),%ecx
404246:	e8 9f 50 00 00       	call   0x4092ea
40424b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40424e:	eb 1a                	jmp    0x40426a
404250:	68 0e 00 07 80       	push   $0x8007000e
404255:	ff 15 74 20 41 00    	call   *0x412074
40425b:	e8 94 55 00 00       	call   0x4097f4
404260:	b8 66 42 40 00       	mov    $0x404266,%eax
404265:	c3                   	ret
404266:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40426a:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40426e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
404271:	ff 15 30 22 41 00    	call   *0x412230
404277:	e8 91 b0 00 00       	call   0x40f30d
40427c:	c2 08 00             	ret    $0x8
40427f:	6a 10                	push   $0x10
404281:	b8 b5 f6 40 00       	mov    $0x40f6b5,%eax
404286:	e8 c4 b0 00 00       	call   0x40f34f
40428b:	8b f1                	mov    %ecx,%esi
40428d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
404290:	ff 15 f8 21 41 00    	call   *0x4121f8
404296:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40429a:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40429d:	ff 15 f8 21 41 00    	call   *0x4121f8
4042a3:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4042a7:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4042ab:	b9 01 01 00 00       	mov    $0x101,%ecx
4042b0:	e8 9c 57 00 00       	call   0x409a51
4042b5:	50                   	push   %eax
4042b6:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4042b9:	ff 15 2c 22 41 00    	call   *0x41222c
4042bf:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
4042c5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4042c8:	51                   	push   %ecx
4042c9:	6a 00                	push   $0x0
4042cb:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4042ce:	50                   	push   %eax
4042cf:	68 00 00 04 00       	push   $0x40000
4042d4:	33 d2                	xor    %edx,%edx
4042d6:	8b 4e 58             	mov    0x58(%esi),%ecx
4042d9:	e8 02 47 00 00       	call   0x4089e0
4042de:	8b f8                	mov    %eax,%edi
4042e0:	83 ff ff             	cmp    $0xffffffff,%edi
4042e3:	74 41                	je     0x404326
4042e5:	6a 04                	push   $0x4
4042e7:	8b d7                	mov    %edi,%edx
4042e9:	8b 4e 58             	mov    0x58(%esi),%ecx
4042ec:	e8 7e 4d 00 00       	call   0x40906f
4042f1:	85 c0                	test   %eax,%eax
4042f3:	74 0a                	je     0x4042ff
4042f5:	50                   	push   %eax
4042f6:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4042f9:	ff 15 2c 22 41 00    	call   *0x41222c
4042ff:	51                   	push   %ecx
404300:	8b d7                	mov    %edi,%edx
404302:	8b 4e 58             	mov    0x58(%esi),%ecx
404305:	e8 b6 4d 00 00       	call   0x4090c0
40430a:	33 c9                	xor    %ecx,%ecx
40430c:	85 c0                	test   %eax,%eax
40430e:	0f 95 c1             	setne  %cl
404311:	81 c1 fb 00 00 00    	add    $0xfb,%ecx
404317:	e8 35 57 00 00       	call   0x409a51
40431c:	50                   	push   %eax
40431d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404320:	ff 15 2c 22 41 00    	call   *0x41222c
404326:	83 7e 70 00          	cmpl   $0x0,0x70(%esi)
40432a:	74 1a                	je     0x404346
40432c:	83 7e 74 00          	cmpl   $0x0,0x74(%esi)
404330:	74 14                	je     0x404346
404332:	b9 02 01 00 00       	mov    $0x102,%ecx
404337:	e8 15 57 00 00       	call   0x409a51
40433c:	50                   	push   %eax
40433d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404340:	ff 15 2c 22 41 00    	call   *0x41222c
404346:	51                   	push   %ecx
404347:	ff 75 ec             	push   -0x14(%ebp)
40434a:	6a 06                	push   $0x6
40434c:	8b 55 08             	mov    0x8(%ebp),%edx
40434f:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
404355:	e8 90 4f 00 00       	call   0x4092ea
40435a:	51                   	push   %ecx
40435b:	ff 75 e8             	push   -0x18(%ebp)
40435e:	6a 09                	push   $0x9
404360:	8b 55 08             	mov    0x8(%ebp),%edx
404363:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
404369:	e8 7c 4f 00 00       	call   0x4092ea
40436e:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
404375:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)