40981d:	e8 44 96 ff ff       	call   0x402e66
409822:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
409828:	e8 5e 46 00 00       	call   0x40de8b
40982d:	8b ce                	mov    %esi,%ecx
40982f:	e8 f9 c1 ff ff       	call   0x405a2d
409834:	8b cf                	mov    %edi,%ecx
409836:	89 5d f4             	mov    %ebx,-0xc(%ebp)
409839:	e8 ef c1 ff ff       	call   0x405a2d
40983e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
409841:	89 5d f0             	mov    %ebx,-0x10(%ebp)
409844:	e8 e4 c1 ff ff       	call   0x405a2d
409849:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40984c:	e8 dc c1 ff ff       	call   0x405a2d
409851:	8b 7d e4             	mov    -0x1c(%ebp),%edi
409854:	ff 75 e0             	push   -0x20(%ebp)
409857:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40985a:	68 04 01 00 00       	push   $0x104
40985f:	8b 75 ec             	mov    -0x14(%ebp),%esi
409862:	8d 85 3c fb ff ff    	lea    -0x4c4(%ebp),%eax
409868:	50                   	push   %eax
409869:	53                   	push   %ebx
40986a:	68 14 2c 41 00       	push   $0x412c14
40986f:	56                   	push   %esi
409870:	ff 15 c0 20 41 00    	call   *0x4120c0
409876:	85 c0                	test   %eax,%eax
409878:	0f 85 01 fc ff ff    	jne    0x40947f
40987e:	8b cf                	mov    %edi,%ecx
409880:	e8 48 0a 00 00       	call   0x40a2cd
409885:	8b 4d e0             	mov    -0x20(%ebp),%ecx
409888:	33 db                	xor    %ebx,%ebx
40988a:	43                   	inc    %ebx
40988b:	e8 9d c1 ff ff       	call   0x405a2d
409890:	8b 4d d8             	mov    -0x28(%ebp),%ecx
409893:	e8 95 c1 ff ff       	call   0x405a2d
409898:	8b ce                	mov    %esi,%ecx
40989a:	e8 8e c1 ff ff       	call   0x405a2d
40989f:	8b 4d 08             	mov    0x8(%ebp),%ecx
4098a2:	e8 86 c1 ff ff       	call   0x405a2d
4098a7:	5f                   	pop    %edi
4098a8:	5e                   	pop    %esi
4098a9:	8b c3                	mov    %ebx,%eax
4098ab:	5b                   	pop    %ebx
4098ac:	c9                   	leave
4098ad:	c2 04 00             	ret    $0x4
4098b0:	55                   	push   %ebp
4098b1:	8b ec                	mov    %esp,%ebp
4098b3:	81 ec c8 04 00 00    	sub    $0x4c8,%esp
4098b9:	53                   	push   %ebx
4098ba:	56                   	push   %esi
4098bb:	57                   	push   %edi
4098bc:	8b f1                	mov    %ecx,%esi
4098be:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4098c1:	68 44 2e 41 00       	push   $0x412e44
4098c6:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4098c9:	e8 44 9b ff ff       	call   0x403412
4098ce:	68 08 02 00 00       	push   $0x208
4098d3:	33 db                	xor    %ebx,%ebx
4098d5:	8d 85 3c fb ff ff    	lea    -0x4c4(%ebp),%eax
4098db:	53                   	push   %ebx
4098dc:	50                   	push   %eax
4098dd:	e8 70 77 ff ff       	call   0x401052
4098e2:	83 c4 0c             	add    $0xc,%esp
4098e5:	89 5d a8             	mov    %ebx,-0x58(%ebp)
4098e8:	8d 85 44 fd ff ff    	lea    -0x2bc(%ebp),%eax
4098ee:	8b fb                	mov    %ebx,%edi
4098f0:	68 04 01 00 00       	push   $0x104
4098f5:	53                   	push   %ebx
4098f6:	50                   	push   %eax
4098f7:	e8 56 77 ff ff       	call   0x401052
4098fc:	59                   	pop    %ecx
4098fd:	59                   	pop    %ecx
4098fe:	8d 95 44 fd ff ff    	lea    -0x2bc(%ebp),%edx
409904:	b9 54 2e 41 00       	mov    $0x412e54,%ecx
409909:	e8 b0 14 00 00       	call   0x40adbe
40990e:	59                   	pop    %ecx
40990f:	85 c0                	test   %eax,%eax
409911:	0f 84 d4 04 00 00    	je     0x409deb
409917:	8d 85 44 fd ff ff    	lea    -0x2bc(%ebp),%eax
40991d:	50                   	push   %eax
40991e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
409921:	e8 ec 9a ff ff       	call   0x403412
409926:	68 6c 2e 41 00       	push   $0x412e6c
40992b:	8d 85 44 fd ff ff    	lea    -0x2bc(%ebp),%eax
409931:	50                   	push   %eax
409932:	ff 15 04 22 41 00    	call   *0x412204
409938:	8d 45 a8             	lea    -0x58(%ebp),%eax
40993b:	50                   	push   %eax
40993c:	8d 85 44 fd ff ff    	lea    -0x2bc(%ebp),%eax
409942:	50                   	push   %eax
409943:	ff 15 b0 20 41 00    	call   *0x4120b0
409949:	83 7d a8 06          	cmpl   $0x6,-0x58(%ebp)
40994d:	8d 45 d8             	lea    -0x28(%ebp),%eax
409950:	75 6c                	jne    0x4099be
409952:	6a 01                	push   $0x1
409954:	51                   	push   %ecx
409955:	8b cc                	mov    %esp,%ecx
409957:	50                   	push   %eax
409958:	e8 fd 9a ff ff       	call   0x40345a
40995d:	8b ce                	mov    %esi,%ecx
40995f:	e8 42 0d 00 00       	call   0x40a6a6
409964:	85 c0                	test   %eax,%eax
409966:	0f 84 77 04 00 00    	je     0x409de3
40996c:	68 88 2e 41 00       	push   $0x412e88
409971:	8d 4d 08             	lea    0x8(%ebp),%ecx
409974:	e8 1e 99 ff ff       	call   0x403297
409979:	8d 45 08             	lea    0x8(%ebp),%eax
40997c:	50                   	push   %eax
40997d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
409980:	e8 d5 9a ff ff       	call   0x40345a
409985:	68 ac 2e 41 00       	push   $0x412eac
40998a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40998d:	e8 05 99 ff ff       	call   0x403297
409992:	68 44 2e 41 00       	push   $0x412e44
409997:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40999a:	e8 73 9a ff ff       	call   0x403412
40999f:	50                   	push   %eax
4099a0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4099a3:	e8 bc 98 ff ff       	call   0x403264
4099a8:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4099ab:	e8 7d c0 ff ff       	call   0x405a2d
4099b0:	53                   	push   %ebx
4099b1:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4099b4:	e8 e6 96 ff ff       	call   0x40309f
4099b9:	e9 ed 03 00 00       	jmp    0x409dab
4099be:	53                   	push   %ebx
4099bf:	eb 93                	jmp    0x409954
4099c1:	47                   	inc    %edi
4099c2:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4099c5:	68 44 2e 41 00       	push   $0x412e44
4099ca:	89 7d dc             	mov    %edi,-0x24(%ebp)
4099cd:	e8 40 9a ff ff       	call   0x403412
4099d2:	50                   	push   %eax
4099d3:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4099d6:	e8 89 98 ff ff       	call   0x403264
4099db:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
4099de:	e8 4a c0 ff ff       	call   0x405a2d
4099e3:	57                   	push   %edi
4099e4:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4099e7:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
4099ea:	e8 b0 96 ff ff       	call   0x40309f
4099ef:	8d 45 08             	lea    0x8(%ebp),%eax
4099f2:	50                   	push   %eax
4099f3:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4099f6:	e8 5f 9a ff ff       	call   0x40345a
4099fb:	8d 85 3c fb ff ff    	lea    -0x4c4(%ebp),%eax
409a01:	50                   	push   %eax
409a02:	8d 4d f8             	lea    -0x8(%ebp),%ecx
409a05:	e8 8d 98 ff ff       	call   0x403297
409a0a:	8d 45 e8             	lea    -0x18(%ebp),%eax
409a0d:	50                   	push   %eax
409a0e:	8d 4d f8             	lea    -0x8(%ebp),%ecx
409a11:	e8 6b 99 ff ff       	call   0x403381
409a16:	ff 75 e8             	push   -0x18(%ebp)
409a19:	ff 56 68             	call   *0x68(%esi)
409a1c:	59                   	pop    %ecx
409a1d:	85 c0                	test   %eax,%eax
409a1f:	74 15                	je     0x409a36
409a21:	8b 4d e8             	mov    -0x18(%ebp),%ecx
409a24:	e8 04 c0 ff ff       	call   0x405a2d
409a29:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409a2c:	e8 fc bf ff ff       	call   0x405a2d
409a31:	e9 72 03 00 00       	jmp    0x409da8
409a36:	ff 96 80 00 00 00    	call   *0x80(%esi)
409a3c:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
409a42:	85 c0                	test   %eax,%eax
409a44:	74 db                	je     0x409a21
409a46:	53                   	push   %ebx
409a47:	6a 01                	push   $0x1
409a49:	50                   	push   %eax
409a4a:	ff 56 7c             	call   *0x7c(%esi)
409a4d:	83 c4 0c             	add    $0xc,%esp
409a50:	85 c0                	test   %eax,%eax
409a52:	75 cd                	jne    0x409a21
409a54:	8d 45 f8             	lea    -0x8(%ebp),%eax
409a57:	50                   	push   %eax
409a58:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409a5b:	e8 fa 99 ff ff       	call   0x40345a
409a60:	68 c8 2e 41 00       	push   $0x412ec8
409a65:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409a68:	e8 2a 98 ff ff       	call   0x403297
409a6d:	6a 1a                	push   $0x1a
409a6f:	5a                   	pop    %edx
409a70:	8d 4d f4             	lea    -0xc(%ebp),%ecx
409a73:	e8 e3 3c 00 00       	call   0x40d75b
409a78:	68 44 26 41 00       	push   $0x412644
409a7d:	8d 4d f4             	lea    -0xc(%ebp),%ecx
409a80:	e8 12 98 ff ff       	call   0x403297
409a85:	6a 08                	push   $0x8
409a87:	5a                   	pop    %edx
409a88:	8d 4d cc             	lea    -0x34(%ebp),%ecx
409a8b:	e8 44 98 ff ff       	call   0x4032d4
409a90:	50                   	push   %eax
409a91:	8d 4d f4             	lea    -0xc(%ebp),%ecx
409a94:	e8 c9 96 ff ff       	call   0x403162
409a99:	8b 4d cc             	mov    -0x34(%ebp),%ecx
409a9c:	e8 8c bf ff ff       	call   0x405a2d
409aa1:	68 40 2b 41 00       	push   $0x412b40
409aa6:	8d 4d f4             	lea    -0xc(%ebp),%ecx
409aa9:	89 5d cc             	mov    %ebx,-0x34(%ebp)
409aac:	e8 e6 97 ff ff       	call   0x403297
409ab1:	8b 75 f4             	mov    -0xc(%ebp),%esi
409ab4:	8b 7d f0             	mov    -0x10(%ebp),%edi
409ab7:	53                   	push   %ebx
409ab8:	56                   	push   %esi
409ab9:	57                   	push   %edi
409aba:	ff 15 34 21 41 00    	call   *0x412134
409ac0:	85 c0                	test   %eax,%eax
409ac2:	74 0f                	je     0x409ad3
409ac4:	8d 45 f4             	lea    -0xc(%ebp),%eax
409ac7:	50                   	push   %eax
409ac8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409acb:	e8 94 97 ff ff       	call   0x403264
409ad0:	8b 7d f0             	mov    -0x10(%ebp),%edi
409ad3:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
409ad9:	e8 8e 43 00 00       	call   0x40de6c
409ade:	8d 45 f0             	lea    -0x10(%ebp),%eax
409ae1:	50                   	push   %eax
409ae2:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
409ae8:	e8 77 97 ff ff       	call   0x403264
409aed:	51                   	push   %ecx
409aee:	68 00 00 00 c0       	push   $0xc0000000
409af3:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
409af9:	e8 32 46 00 00       	call   0x40e130
409afe:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
409b04:	85 c0                	test   %eax,%eax
409b06:	0f 84 6d 02 00 00    	je     0x409d79
409b0c:	53                   	push   %ebx
409b0d:	ff b5 60 ff ff ff    	push   -0xa0(%ebp)
409b13:	8d 45 d0             	lea    -0x30(%ebp),%eax
409b16:	89 5d d0             	mov    %ebx,-0x30(%ebp)
409b19:	50                   	push   %eax
409b1a:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
409b1d:	e8 b9 42 00 00       	call   0x40dddb
409b22:	68 e4 2e 41 00       	push   $0x412ee4
409b27:	8d 4d 90             	lea    -0x70(%ebp),%ecx
409b2a:	e8 bd 96 ff ff       	call   0x4031ec
409b2f:	8b d8                	mov    %eax,%ebx
409b31:	8d 4d d0             	lea    -0x30(%ebp),%ecx
409b34:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
409b3a:	50                   	push   %eax
409b3b:	e8 19 92 ff ff       	call   0x402d59
409b40:	8b d3                	mov    %ebx,%edx
409b42:	8b c8                	mov    %eax,%ecx
409b44:	e8 14 f0 ff ff       	call   0x408b5d
409b49:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
409b4f:	8b d8                	mov    %eax,%ebx
409b51:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
409b54:	e8 d4 be ff ff       	call   0x405a2d
409b59:	8b 4d 90             	mov    -0x70(%ebp),%ecx
409b5c:	e8 cc be ff ff       	call   0x405a2d
409b61:	85 db                	test   %ebx,%ebx
409b63:	0f 84 cd 01 00 00    	je     0x409d36
409b69:	8b 7d e4             	mov    -0x1c(%ebp),%edi
409b6c:	33 db                	xor    %ebx,%ebx
409b6e:	8b 75 8c             	mov    -0x74(%ebp),%esi
409b71:	56                   	push   %esi
409b72:	68 f8 2e 41 00       	push   $0x412ef8
409b77:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
409b7a:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
409b7d:	89 5d 98             	mov    %ebx,-0x68(%ebp)
409b80:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
409b83:	e8 64 96 ff ff       	call   0x4031ec
409b88:	50                   	push   %eax
409b89:	8d 45 88             	lea    -0x78(%ebp),%eax
409b8c:	50                   	push   %eax
409b8d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
409b90:	e8 c4 91 ff ff       	call   0x402d59
409b95:	8b d0                	mov    %eax,%edx
409b97:	8d 4d ac             	lea    -0x54(%ebp),%ecx
409b9a:	e8 f7 ef ff ff       	call   0x408b96
409b9f:	59                   	pop    %ecx
409ba0:	59                   	pop    %ecx
409ba1:	8b 4d 88             	mov    -0x78(%ebp),%ecx
409ba4:	e8 84 be ff ff       	call   0x405a2d
409ba9:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
409bac:	e8 7c be ff ff       	call   0x405a2d
409bb1:	56                   	push   %esi
409bb2:	68 e4 2e 41 00       	push   $0x412ee4
409bb7:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
409bbd:	e8 2a 96 ff ff       	call   0x4031ec
409bc2:	50                   	push   %eax
409bc3:	8d 45 80             	lea    -0x80(%ebp),%eax
409bc6:	50                   	push   %eax
409bc7:	8d 4d d0             	lea    -0x30(%ebp),%ecx
409bca:	e8 8a 91 ff ff       	call   0x402d59
409bcf:	8b d0                	mov    %eax,%edx
409bd1:	8d 4d b0             	lea    -0x50(%ebp),%ecx
409bd4:	e8 bd ef ff ff       	call   0x408b96
409bd9:	59                   	pop    %ecx
409bda:	59                   	pop    %ecx
409bdb:	8b 4d 80             	mov    -0x80(%ebp),%ecx
409bde:	e8 4a be ff ff       	call   0x405a2d
409be3:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
409be9:	e8 3f be ff ff       	call   0x405a2d
409bee:	56                   	push   %esi
409bef:	68 04 2f 41 00       	push   $0x412f04
409bf4:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
409bfa:	e8 ed 95 ff ff       	call   0x4031ec
409bff:	50                   	push   %eax
409c00:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
409c06:	50                   	push   %eax
409c07:	8d 4d d0             	lea    -0x30(%ebp),%ecx
409c0a:	e8 4a 91 ff ff       	call   0x402d59
409c0f:	8b d0                	mov    %eax,%edx
409c11:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
409c14:	e8 7d ef ff ff       	call   0x408b96
409c19:	59                   	pop    %ecx
409c1a:	59                   	pop    %ecx
409c1b:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
409c21:	e8 07 be ff ff       	call   0x405a2d
409c26:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
409c2c:	e8 fc bd ff ff       	call   0x405a2d
409c31:	8d 45 bc             	lea    -0x44(%ebp),%eax
409c34:	8b cf                	mov    %edi,%ecx
409c36:	50                   	push   %eax
409c37:	ff 75 b0             	push   -0x50(%ebp)
409c3a:	e8 c5 01 00 00       	call   0x409e04
409c3f:	8d 45 b8             	lea    -0x48(%ebp),%eax
409c42:	8b cf                	mov    %edi,%ecx
409c44:	50                   	push   %eax
409c45:	ff 75 b4             	push   -0x4c(%ebp)
409c48:	e8 b7 01 00 00       	call   0x409e04
409c4d:	8d 45 c8             	lea    -0x38(%ebp),%eax
409c50:	50                   	push   %eax
409c51:	8d 4d ac             	lea    -0x54(%ebp),%ecx
409c54:	e8 71 92 ff ff       	call   0x402eca
409c59:	50                   	push   %eax
409c5a:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
409c5d:	e8 02 96 ff ff       	call   0x403264
409c62:	8b 4d c8             	mov    -0x38(%ebp),%ecx
409c65:	e8 c3 bd ff ff       	call   0x405a2d
409c6a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
409c6d:	89 5d c8             	mov    %ebx,-0x38(%ebp)
409c70:	50                   	push   %eax
409c71:	ff 75 bc             	push   -0x44(%ebp)
409c74:	8d 8d 70 ff ff ff    	lea    -0x90(%ebp),%ecx
409c7a:	e8 6d 95 ff ff       	call   0x4031ec
409c7f:	8b c8                	mov    %eax,%ecx
409c81:	e8 44 92 ff ff       	call   0x402eca
409c86:	50                   	push   %eax
409c87:	8d 4d 98             	lea    -0x68(%ebp),%ecx
409c8a:	e8 d5 95 ff ff       	call   0x403264
409c8f:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
409c92:	e8 96 bd ff ff       	call   0x405a2d
409c97:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
409c9d:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
409ca0:	e8 88 bd ff ff       	call   0x405a2d
409ca5:	8d 45 c0             	lea    -0x40(%ebp),%eax
409ca8:	50                   	push   %eax
409ca9:	ff 75 b8             	push   -0x48(%ebp)