404ed7:	ff 75 e0             	push   -0x20(%ebp)
404eda:	6a 01                	push   $0x1
404edc:	8b 53 34             	mov    0x34(%ebx),%edx
404edf:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404ee2:	e8 b3 55 00 00       	call   0x40a49a
404ee7:	85 c0                	test   %eax,%eax
404ee9:	75 11                	jne    0x404efc
404eeb:	51                   	push   %ecx
404eec:	8b 55 ec             	mov    -0x14(%ebp),%edx
404eef:	8b 4d 0c             	mov    0xc(%ebp),%ecx
404ef2:	e8 08 3c 00 00       	call   0x408aff
404ef7:	83 f8 ff             	cmp    $0xffffffff,%eax
404efa:	74 9f                	je     0x404e9b
404efc:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
404f00:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404f03:	ff 15 30 22 41 00    	call   *0x412230
404f09:	8b 45 e4             	mov    -0x1c(%ebp),%eax
404f0c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404f10:	8b 37                	mov    (%edi),%esi
404f12:	03 f7                	add    %edi,%esi
404f14:	8b 3e                	mov    (%esi),%edi
404f16:	03 fe                	add    %esi,%edi
404f18:	8b 4d dc             	mov    -0x24(%ebp),%ecx
404f1b:	41                   	inc    %ecx
404f1c:	e9 2f ff ff ff       	jmp    0x404e50
404f21:	68 0e 00 07 80       	push   $0x8007000e
404f26:	ff 15 74 20 41 00    	call   *0x412074
404f2c:	e8 c3 48 00 00       	call   0x4097f4
404f31:	b8 37 4f 40 00       	mov    $0x404f37,%eax
404f36:	c3                   	ret
404f37:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404f3b:	e9 88 fe ff ff       	jmp    0x404dc8
404f40:	6a 5c                	push   $0x5c
404f42:	b8 22 f8 40 00       	mov    $0x40f822,%eax
404f47:	e8 39 a4 00 00       	call   0x40f385
404f4c:	8b d9                	mov    %ecx,%ebx
404f4e:	8b 75 08             	mov    0x8(%ebp),%esi
404f51:	8b 7d 0c             	mov    0xc(%ebp),%edi
404f54:	89 7d a8             	mov    %edi,-0x58(%ebp)
404f57:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
404f5a:	ff 15 f8 21 41 00    	call   *0x4121f8
404f60:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404f64:	8d 4d d0             	lea    -0x30(%ebp),%ecx
404f67:	ff 15 f8 21 41 00    	call   *0x4121f8
404f6d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
404f71:	8d 4d c8             	lea    -0x38(%ebp),%ecx
404f74:	ff 15 f8 21 41 00    	call   *0x4121f8
404f7a:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
404f7e:	8d 4d cc             	lea    -0x34(%ebp),%ecx
404f81:	ff 15 f8 21 41 00    	call   *0x4121f8
404f87:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
404f8b:	83 65 c0 00          	andl   $0x0,-0x40(%ebp)
404f8f:	33 c0                	xor    %eax,%eax
404f91:	89 45 b8             	mov    %eax,-0x48(%ebp)
404f94:	21 45 d4             	and    %eax,-0x2c(%ebp)
404f97:	85 ff                	test   %edi,%edi
404f99:	75 09                	jne    0x404fa4
404f9b:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
404f9f:	e9 09 03 00 00       	jmp    0x4052ad
404fa4:	6a 10                	push   $0x10
404fa6:	8b d6                	mov    %esi,%edx
404fa8:	8b 8b 80 00 00 00    	mov    0x80(%ebx),%ecx
404fae:	e8 bc 40 00 00       	call   0x40906f
404fb3:	8b f0                	mov    %eax,%esi
404fb5:	85 f6                	test   %esi,%esi
404fb7:	74 e2                	je     0x404f9b
404fb9:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
404fbd:	83 65 bc 00          	andl   $0x0,-0x44(%ebp)
404fc1:	68 a8 12 40 00       	push   $0x4012a8
404fc6:	8d 4b 34             	lea    0x34(%ebx),%ecx
404fc9:	ff 15 28 22 41 00    	call   *0x412228
404fcf:	83 f8 ff             	cmp    $0xffffffff,%eax
404fd2:	74 03                	je     0x404fd7
404fd4:	89 45 bc             	mov    %eax,-0x44(%ebp)
404fd7:	33 c0                	xor    %eax,%eax
404fd9:	89 45 b4             	mov    %eax,-0x4c(%ebp)
404fdc:	83 f8 05             	cmp    $0x5,%eax
404fdf:	73 08                	jae    0x404fe9
404fe1:	83 64 85 d8 00       	andl   $0x0,-0x28(%ebp,%eax,4)
404fe6:	40                   	inc    %eax
404fe7:	eb f0                	jmp    0x404fd9
404fe9:	56                   	push   %esi
404fea:	68 f8 15 40 00       	push   $0x4015f8
404fef:	8d 45 c4             	lea    -0x3c(%ebp),%eax
404ff2:	50                   	push   %eax
404ff3:	ff 15 04 22 41 00    	call   *0x412204
404ff9:	83 c4 0c             	add    $0xc,%esp
404ffc:	ff 75 c4             	push   -0x3c(%ebp)
404fff:	8d 4d ac             	lea    -0x54(%ebp),%ecx
405002:	e8 d2 09 00 00       	call   0x4059d9
405007:	8b f0                	mov    %eax,%esi
405009:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
40500d:	68 e0 15 40 00       	push   $0x4015e0
405012:	8d 4d b0             	lea    -0x50(%ebp),%ecx
405015:	e8 bf 09 00 00       	call   0x4059d9
40501a:	8b c8                	mov    %eax,%ecx
40501c:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
405020:	8b 06                	mov    (%esi),%eax
405022:	85 c0                	test   %eax,%eax
405024:	74 04                	je     0x40502a
405026:	8b 10                	mov    (%eax),%edx
405028:	eb 02                	jmp    0x40502c
40502a:	33 d2                	xor    %edx,%edx
40502c:	8b 01                	mov    (%ecx),%eax
40502e:	85 c0                	test   %eax,%eax
405030:	74 04                	je     0x405036
405032:	8b 08                	mov    (%eax),%ecx
405034:	eb 02                	jmp    0x405038
405036:	33 c9                	xor    %ecx,%ecx
405038:	8b 43 04             	mov    0x4(%ebx),%eax
40503b:	8b 30                	mov    (%eax),%esi
40503d:	8d 7d d4             	lea    -0x2c(%ebp),%edi
405040:	57                   	push   %edi
405041:	6a 00                	push   $0x0
405043:	6a 30                	push   $0x30
405045:	52                   	push   %edx
405046:	51                   	push   %ecx
405047:	50                   	push   %eax
405048:	8b 4e 50             	mov    0x50(%esi),%ecx
40504b:	ff 15 20 23 41 00    	call   *0x412320
405051:	ff 56 50             	call   *0x50(%esi)
405054:	8b f0                	mov    %eax,%esi
405056:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
40505a:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40505d:	e8 ed 08 00 00       	call   0x40594f
405062:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
405066:	8d 4d ac             	lea    -0x54(%ebp),%ecx
405069:	e8 e1 08 00 00       	call   0x40594f
40506e:	85 f6                	test   %esi,%esi
405070:	0f 88 9c 02 00 00    	js     0x405312
405076:	8b 53 0c             	mov    0xc(%ebx),%edx
405079:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40507c:	e8 48 25 00 00       	call   0x4075c9
405081:	85 c0                	test   %eax,%eax
405083:	79 07                	jns    0x40508c
405085:	8b c8                	mov    %eax,%ecx
405087:	e9 88 02 00 00       	jmp    0x405314
40508c:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40508f:	8b 30                	mov    (%eax),%esi
405091:	8d 4d c0             	lea    -0x40(%ebp),%ecx
405094:	51                   	push   %ecx
405095:	8d 4d d8             	lea    -0x28(%ebp),%ecx
405098:	51                   	push   %ecx
405099:	6a 05                	push   $0x5
40509b:	6a ff                	push   $0xffffffff
40509d:	50                   	push   %eax
40509e:	8b 4e 10             	mov    0x10(%esi),%ecx
4050a1:	ff 15 20 23 41 00    	call   *0x412320
4050a7:	ff 56 10             	call   *0x10(%esi)
4050aa:	83 f8 01             	cmp    $0x1,%eax
4050ad:	75 08                	jne    0x4050b7
4050af:	89 45 b8             	mov    %eax,-0x48(%ebp)
4050b2:	89 45 9c             	mov    %eax,-0x64(%ebp)
4050b5:	eb 13                	jmp    0x4050ca
4050b7:	3d 04 00 04 00       	cmp    $0x40004,%eax
4050bc:	0f 84 27 01 00 00    	je     0x4051e9
4050c2:	85 c0                	test   %eax,%eax
4050c4:	0f 88 1f 01 00 00    	js     0x4051e9
4050ca:	33 ff                	xor    %edi,%edi
4050cc:	89 7d a0             	mov    %edi,-0x60(%ebp)
4050cf:	3b 7d c0             	cmp    -0x40(%ebp),%edi
4050d2:	0f 83 05 01 00 00    	jae    0x4051dd
4050d8:	be 8d 13 00 00       	mov    $0x138d,%esi
4050dd:	8b ce                	mov    %esi,%ecx
4050df:	e8 6d 49 00 00       	call   0x409a51
4050e4:	50                   	push   %eax
4050e5:	8d 45 c8             	lea    -0x38(%ebp),%eax
4050e8:	50                   	push   %eax
4050e9:	ba 64 16 40 00       	mov    $0x401664,%edx
4050ee:	8b 4c bd d8          	mov    -0x28(%ebp,%edi,4),%ecx
4050f2:	e8 cb 2a 00 00       	call   0x407bc2
4050f7:	85 c0                	test   %eax,%eax
4050f9:	0f 84 d8 00 00 00    	je     0x4051d7
4050ff:	8b ce                	mov    %esi,%ecx
405101:	e8 4b 49 00 00       	call   0x409a51
405106:	50                   	push   %eax
405107:	8d 45 cc             	lea    -0x34(%ebp),%eax
40510a:	50                   	push   %eax
40510b:	ba 78 16 40 00       	mov    $0x401678,%edx
405110:	8b 4c bd d8          	mov    -0x28(%ebp,%edi,4),%ecx
405114:	e8 a9 2a 00 00       	call   0x407bc2
405119:	85 c0                	test   %eax,%eax
40511b:	0f 84 b6 00 00 00    	je     0x4051d7
405121:	ff 75 cc             	push   -0x34(%ebp)
405124:	ff 75 c8             	push   -0x38(%ebp)
405127:	68 8c 16 40 00       	push   $0x40168c
40512c:	8d 45 d0             	lea    -0x30(%ebp),%eax
40512f:	50                   	push   %eax
405130:	ff 15 04 22 41 00    	call   *0x412204
405136:	83 c4 10             	add    $0x10,%esp
405139:	8d 4b 34             	lea    0x34(%ebx),%ecx
40513c:	ff 15 38 22 41 00    	call   *0x412238
405142:	8b 40 04             	mov    0x4(%eax),%eax
405145:	85 c0                	test   %eax,%eax
405147:	74 14                	je     0x40515d
405149:	ff 75 bc             	push   -0x44(%ebp)
40514c:	6a 01                	push   $0x1
40514e:	8b 53 34             	mov    0x34(%ebx),%edx
405151:	8b 4d d0             	mov    -0x30(%ebp),%ecx
405154:	e8 41 53 00 00       	call   0x40a49a
405159:	85 c0                	test   %eax,%eax
40515b:	75 5d                	jne    0x4051ba
40515d:	51                   	push   %ecx
40515e:	8b 55 d0             	mov    -0x30(%ebp),%edx
405161:	8b 4d a8             	mov    -0x58(%ebp),%ecx
405164:	e8 96 39 00 00       	call   0x408aff
405169:	83 f8 ff             	cmp    $0xffffffff,%eax
40516c:	75 4c                	jne    0x4051ba
40516e:	89 7d a4             	mov    %edi,-0x5c(%ebp)
405171:	3b 7d c0             	cmp    -0x40(%ebp),%edi
405174:	73 20                	jae    0x405196
405176:	8b 4c bd d8          	mov    -0x28(%ebp,%edi,4),%ecx
40517a:	85 c9                	test   %ecx,%ecx
40517c:	74 15                	je     0x405193
40517e:	8b 01                	mov    (%ecx),%eax
405180:	51                   	push   %ecx
405181:	8b 70 08             	mov    0x8(%eax),%esi
405184:	8b ce                	mov    %esi,%ecx
405186:	ff 15 20 23 41 00    	call   *0x412320
40518c:	ff d6                	call   *%esi
40518e:	83 64 bd d8 00       	andl   $0x0,-0x28(%ebp,%edi,4)
405193:	47                   	inc    %edi
405194:	eb d8                	jmp    0x40516e
405196:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
405199:	85 c9                	test   %ecx,%ecx
40519b:	0f 84 fa fd ff ff    	je     0x404f9b
4051a1:	8b 01                	mov    (%ecx),%eax
4051a3:	51                   	push   %ecx
4051a4:	8b 70 08             	mov    0x8(%eax),%esi
4051a7:	8b ce                	mov    %esi,%ecx
4051a9:	ff 15 20 23 41 00    	call   *0x412320
4051af:	ff d6                	call   *%esi
4051b1:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
4051b5:	e9 e1 fd ff ff       	jmp    0x404f9b
4051ba:	8b 4c bd d8          	mov    -0x28(%ebp,%edi,4),%ecx
4051be:	85 c9                	test   %ecx,%ecx
4051c0:	74 15                	je     0x4051d7
4051c2:	8b 01                	mov    (%ecx),%eax
4051c4:	51                   	push   %ecx
4051c5:	8b 70 08             	mov    0x8(%eax),%esi
4051c8:	8b ce                	mov    %esi,%ecx
4051ca:	ff 15 20 23 41 00    	call   *0x412320
4051d0:	ff d6                	call   *%esi
4051d2:	83 64 bd d8 00       	andl   $0x0,-0x28(%ebp,%edi,4)
4051d7:	47                   	inc    %edi
4051d8:	e9 ef fe ff ff       	jmp    0x4050cc
4051dd:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
4051e1:	0f 84 a5 fe ff ff    	je     0x40508c
4051e7:	eb 12                	jmp    0x4051fb
4051e9:	8b c8                	mov    %eax,%ecx
4051eb:	e8 1a 27 00 00       	call   0x40790a
4051f0:	68 fd 00 03 80       	push   $0x800300fd
4051f5:	ff 15 74 20 41 00    	call   *0x412074
4051fb:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
405202:	33 db                	xor    %ebx,%ebx
405204:	8b fb                	mov    %ebx,%edi
405206:	8b 4c bd d8          	mov    -0x28(%ebp,%edi,4),%ecx
40520a:	85 c9                	test   %ecx,%ecx
40520c:	74 14                	je     0x405222
40520e:	8b 01                	mov    (%ecx),%eax
405210:	51                   	push   %ecx
405211:	8b 70 08             	mov    0x8(%eax),%esi
405214:	8b ce                	mov    %esi,%ecx
405216:	ff 15 20 23 41 00    	call   *0x412320
40521c:	ff d6                	call   *%esi
40521e:	89 5c bd d8          	mov    %ebx,-0x28(%ebp,%edi,4)
405222:	47                   	inc    %edi
405223:	83 ff 05             	cmp    $0x5,%edi
405226:	72 de                	jb     0x405206
405228:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40522b:	85 c9                	test   %ecx,%ecx
40522d:	74 13                	je     0x405242
40522f:	8b 01                	mov    (%ecx),%eax
405231:	51                   	push   %ecx
405232:	8b 70 08             	mov    0x8(%eax),%esi
405235:	8b ce                	mov    %esi,%ecx
405237:	ff 15 20 23 41 00    	call   *0x412320
40523d:	ff d6                	call   *%esi
40523f:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
405242:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
405246:	8d 4d cc             	lea    -0x34(%ebp),%ecx
405249:	ff 15 30 22 41 00    	call   *0x412230
40524f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
405253:	8d 4d c8             	lea    -0x38(%ebp),%ecx
405256:	ff 15 30 22 41 00    	call   *0x412230
40525c:	88 5d fc             	mov    %bl,-0x4(%ebp)
40525f:	8d 4d d0             	lea    -0x30(%ebp),%ecx
405262:	ff 15 30 22 41 00    	call   *0x412230
405268:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40526c:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40526f:	ff 15 30 22 41 00    	call   *0x412230
405275:	33 c0                	xor    %eax,%eax
405277:	40                   	inc    %eax
405278:	eb 65                	jmp    0x4052df
40527a:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40527d:	85 c9                	test   %ecx,%ecx
40527f:	74 14                	je     0x405295
405281:	8b 01                	mov    (%ecx),%eax
405283:	51                   	push   %ecx
405284:	8b 70 08             	mov    0x8(%eax),%esi
405287:	8b ce                	mov    %esi,%ecx
405289:	ff 15 20 23 41 00    	call   *0x412320
40528f:	ff d6                	call   *%esi
405291:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
405295:	8b 45 98             	mov    -0x68(%ebp),%eax
405298:	8b 48 04             	mov    0x4(%eax),%ecx
40529b:	e8 6a 26 00 00       	call   0x40790a
4052a0:	b8 a6 52 40 00       	mov    $0x4052a6,%eax
4052a5:	c3                   	ret
4052a6:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
4052ad:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4052b0:	ff 15 30 22 41 00    	call   *0x412230
4052b6:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4052ba:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4052bd:	ff 15 30 22 41 00    	call   *0x412230
4052c3:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4052c7:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4052ca:	ff 15 30 22 41 00    	call   *0x412230
4052d0:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4052d4:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4052d7:	ff 15 30 22 41 00    	call   *0x412230
4052dd:	33 c0                	xor    %eax,%eax
4052df:	e8 29 a0 00 00       	call   0x40f30d
4052e4:	c2 08 00             	ret    $0x8
4052e7:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4052ea:	85 c9                	test   %ecx,%ecx
4052ec:	74 14                	je     0x405302
4052ee:	8b 01                	mov    (%ecx),%eax
4052f0:	51                   	push   %ecx
4052f1:	8b 70 08             	mov    0x8(%eax),%esi
4052f4:	8b ce                	mov    %esi,%ecx
4052f6:	ff 15 20 23 41 00    	call   *0x412320
4052fc:	ff d6                	call   *%esi
4052fe:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
405302:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
405307:	e8 fe 25 00 00       	call   0x40790a
40530c:	b8 a6 52 40 00       	mov    $0x4052a6,%eax
405311:	c3                   	ret
405312:	8b ce                	mov    %esi,%ecx
405314:	e8 08 34 00 00       	call   0x408721
405319:	cc                   	int3
40531a:	cc                   	int3
40531b:	cc                   	int3
40531c:	cc                   	int3
40531d:	cc                   	int3
40531e:	cc                   	int3
40531f:	cc                   	int3
405320:	6a 08                	push   $0x8
405322:	b8 47 f8 40 00       	mov    $0x40f847,%eax
405327:	e8 23 a0 00 00       	call   0x40f34f