403b57:	e8 af d8 ff ff       	call   0x40140b
403b5c:	85 c0                	test   %eax,%eax
403b5e:	75 25                	jne    0x403b85
403b60:	c7 05 68 f8 41 00 01 	movl   $0x1,0x41f868
403b67:	00 00 00
403b6a:	eb e0                	jmp    0x403b4c
403b6c:	ff 74 24 30          	push   0x30(%esp)
403b70:	ff 74 24 30          	push   0x30(%esp)
403b74:	68 11 01 00 00       	push   $0x111
403b79:	ff 35 78 36 42 00    	push   0x423678
403b7f:	ff 15 44 72 40 00    	call   *0x407244
403b85:	ff 74 24 30          	push   0x30(%esp)
403b89:	ff 74 24 30          	push   0x30(%esp)
403b8d:	53                   	push   %ebx
403b8e:	e8 ec 03 00 00       	call   0x403f7f
403b93:	e9 4f 03 00 00       	jmp    0x403ee7
403b98:	8b 44 24 2c          	mov    0x2c(%esp),%eax
403b9c:	8b 7c 24 24          	mov    0x24(%esp),%edi
403ba0:	3b d9                	cmp    %ecx,%ebx
403ba2:	a3 84 04 42 00       	mov    %eax,0x420484
403ba7:	75 4d                	jne    0x403bf6
403ba9:	8b 35 2c 72 40 00    	mov    0x40722c,%esi
403baf:	6a 01                	push   $0x1
403bb1:	57                   	push   %edi
403bb2:	89 3d a8 3e 42 00    	mov    %edi,0x423ea8
403bb8:	ff d6                	call   *%esi
403bba:	6a 02                	push   $0x2
403bbc:	57                   	push   %edi
403bbd:	a3 98 04 42 00       	mov    %eax,0x420498
403bc2:	ff d6                	call   *%esi
403bc4:	6a ff                	push   $0xffffffff
403bc6:	6a 1c                	push   $0x1c
403bc8:	57                   	push   %edi
403bc9:	a3 60 f4 41 00       	mov    %eax,0x41f460
403bce:	e8 45 03 00 00       	call   0x403f18
403bd3:	ff 35 88 36 42 00    	push   0x423688
403bd9:	6a f2                	push   $0xfffffff2
403bdb:	57                   	push   %edi
403bdc:	ff 15 80 71 40 00    	call   *0x407180
403be2:	6a 04                	push   $0x4
403be4:	e8 22 d8 ff ff       	call   0x40140b
403be9:	a3 6c 36 42 00       	mov    %eax,0x42366c
403bee:	33 c0                	xor    %eax,%eax
403bf0:	40                   	inc    %eax
403bf1:	a3 84 04 42 00       	mov    %eax,0x420484
403bf6:	8b 0d c4 91 40 00    	mov    0x4091c4,%ecx
403bfc:	33 ed                	xor    %ebp,%ebp
403bfe:	8b f1                	mov    %ecx,%esi
403c00:	c1 e6 06             	shl    $0x6,%esi
403c03:	03 35 c0 3e 42 00    	add    0x423ec0,%esi
403c09:	3b cd                	cmp    %ebp,%ecx
403c0b:	7c 3e                	jl     0x403c4b
403c0d:	83 f8 01             	cmp    $0x1,%eax
403c10:	75 31                	jne    0x403c43
403c12:	55                   	push   %ebp
403c13:	ff 76 10             	push   0x10(%esi)
403c16:	e8 6e d7 ff ff       	call   0x401389
403c1b:	85 c0                	test   %eax,%eax
403c1d:	74 24                	je     0x403c43
403c1f:	6a 01                	push   $0x1
403c21:	55                   	push   %ebp
403c22:	68 0f 04 00 00       	push   $0x40f
403c27:	ff 35 78 36 42 00    	push   0x423678
403c2d:	ff 15 44 72 40 00    	call   *0x407244
403c33:	33 c0                	xor    %eax,%eax
403c35:	39 2d 6c 36 42 00    	cmp    %ebp,0x42366c
403c3b:	0f 94 c0             	sete   %al
403c3e:	e9 a4 02 00 00       	jmp    0x403ee7
403c43:	39 2e                	cmp    %ebp,(%esi)
403c45:	0f 84 9a 02 00 00    	je     0x403ee5
403c4b:	68 0b 04 00 00       	push   $0x40b
403c50:	e8 0f 03 00 00       	call   0x403f64
403c55:	a1 84 04 42 00       	mov    0x420484,%eax
403c5a:	01 05 c4 91 40 00    	add    %eax,0x4091c4
403c60:	c1 e0 06             	shl    $0x6,%eax
403c63:	03 f0                	add    %eax,%esi
403c65:	a1 c4 91 40 00       	mov    0x4091c4,%eax
403c6a:	3b 05 c4 3e 42 00    	cmp    0x423ec4,%eax
403c70:	75 07                	jne    0x403c79
403c72:	6a 01                	push   $0x1
403c74:	e8 92 d7 ff ff       	call   0x40140b
403c79:	39 2d 6c 36 42 00    	cmp    %ebp,0x42366c
403c7f:	0f 85 1e 02 00 00    	jne    0x403ea3
403c85:	a1 c4 3e 42 00       	mov    0x423ec4,%eax
403c8a:	39 05 c4 91 40 00    	cmp    %eax,0x4091c4
403c90:	0f 83 0d 02 00 00    	jae    0x403ea3
403c96:	ff 76 24             	push   0x24(%esi)
403c99:	8b 5e 14             	mov    0x14(%esi),%ebx
403c9c:	68 00 b8 42 00       	push   $0x42b800
403ca1:	e8 e2 1e 00 00       	call   0x405b88
403ca6:	ff 76 20             	push   0x20(%esi)
403ca9:	68 19 fc ff ff       	push   $0xfffffc19
403cae:	57                   	push   %edi
403caf:	e8 64 02 00 00       	call   0x403f18
403cb4:	ff 76 1c             	push   0x1c(%esi)
403cb7:	68 1b fc ff ff       	push   $0xfffffc1b
403cbc:	57                   	push   %edi
403cbd:	e8 56 02 00 00       	call   0x403f18
403cc2:	ff 76 28             	push   0x28(%esi)
403cc5:	68 1a fc ff ff       	push   $0xfffffc1a
403cca:	57                   	push   %edi
403ccb:	e8 48 02 00 00       	call   0x403f18
403cd0:	6a 03                	push   $0x3
403cd2:	57                   	push   %edi
403cd3:	ff 15 2c 72 40 00    	call   *0x40722c
403cd9:	39 2d 2c 3f 42 00    	cmp    %ebp,0x423f2c
403cdf:	89 44 24 2c          	mov    %eax,0x2c(%esp)
403ce3:	74 08                	je     0x403ced
403ce5:	66 81 e3 fd fe       	and    $0xfefd,%bx
403cea:	83 cb 04             	or     $0x4,%ebx
403ced:	8b cb                	mov    %ebx,%ecx
403cef:	83 e1 08             	and    $0x8,%ecx
403cf2:	51                   	push   %ecx
403cf3:	50                   	push   %eax
403cf4:	ff 15 60 72 40 00    	call   *0x407260
403cfa:	8b c3                	mov    %ebx,%eax
403cfc:	25 00 01 00 00       	and    $0x100,%eax
403d01:	50                   	push   %eax
403d02:	ff 74 24 30          	push   0x30(%esp)
403d06:	ff 15 3c 72 40 00    	call   *0x40723c
403d0c:	8b c3                	mov    %ebx,%eax
403d0e:	83 e0 02             	and    $0x2,%eax
403d11:	50                   	push   %eax
403d12:	e8 23 02 00 00       	call   0x403f3a
403d17:	83 e3 04             	and    $0x4,%ebx
403d1a:	53                   	push   %ebx
403d1b:	ff 35 60 f4 41 00    	push   0x41f460
403d21:	ff 15 3c 72 40 00    	call   *0x40723c
403d27:	3b dd                	cmp    %ebp,%ebx
403d29:	74 03                	je     0x403d2e
403d2b:	55                   	push   %ebp
403d2c:	eb 02                	jmp    0x403d30
403d2e:	6a 01                	push   $0x1
403d30:	68 60 f0 00 00       	push   $0xf060
403d35:	55                   	push   %ebp
403d36:	57                   	push   %edi
403d37:	ff 15 7c 71 40 00    	call   *0x40717c
403d3d:	50                   	push   %eax
403d3e:	ff 15 78 71 40 00    	call   *0x407178
403d44:	8b 1d 44 72 40 00    	mov    0x407244,%ebx
403d4a:	6a 01                	push   $0x1
403d4c:	55                   	push   %ebp
403d4d:	68 f4 00 00 00       	push   $0xf4
403d52:	ff 74 24 38          	push   0x38(%esp)
403d56:	ff d3                	call   *%ebx
403d58:	39 2d 2c 3f 42 00    	cmp    %ebp,0x423f2c
403d5e:	74 13                	je     0x403d73
403d60:	55                   	push   %ebp
403d61:	6a 02                	push   $0x2
403d63:	68 01 04 00 00       	push   $0x401
403d68:	57                   	push   %edi
403d69:	ff d3                	call   *%ebx
403d6b:	ff 35 60 f4 41 00    	push   0x41f460
403d71:	eb 06                	jmp    0x403d79
403d73:	ff 35 98 04 42 00    	push   0x420498
403d79:	e8 cf 01 00 00       	call   0x403f4d
403d7e:	bb a0 04 42 00       	mov    $0x4204a0,%ebx
403d83:	68 a0 36 42 00       	push   $0x4236a0
403d88:	53                   	push   %ebx
403d89:	e8 d8 1d 00 00       	call   0x405b66
403d8e:	ff 76 18             	push   0x18(%esi)
403d91:	53                   	push   %ebx
403d92:	e8 e5 1d 00 00       	call   0x405b7c
403d97:	03 c3                	add    %ebx,%eax
403d99:	50                   	push   %eax
403d9a:	e8 e9 1d 00 00       	call   0x405b88
403d9f:	53                   	push   %ebx
403da0:	57                   	push   %edi
403da1:	ff 15 f4 71 40 00    	call   *0x4071f4
403da7:	55                   	push   %ebp
403da8:	ff 76 08             	push   0x8(%esi)
403dab:	e8 d9 d5 ff ff       	call   0x401389
403db0:	85 c0                	test   %eax,%eax
403db2:	0f 85 9d fe ff ff    	jne    0x403c55
403db8:	39 2e                	cmp    %ebp,(%esi)
403dba:	0f 84 95 fe ff ff    	je     0x403c55
403dc0:	83 7e 04 05          	cmpl   $0x5,0x4(%esi)
403dc4:	75 1d                	jne    0x403de3
403dc6:	39 2d 2c 3f 42 00    	cmp    %ebp,0x423f2c
403dcc:	0f 85 13 01 00 00    	jne    0x403ee5
403dd2:	39 2d 20 3f 42 00    	cmp    %ebp,0x423f20
403dd8:	0f 85 77 fe ff ff    	jne    0x403c55
403dde:	e9 02 01 00 00       	jmp    0x403ee5
403de3:	ff 35 78 36 42 00    	push   0x423678
403de9:	ff 15 e8 71 40 00    	call   *0x4071e8
403def:	89 35 70 fc 41 00    	mov    %esi,0x41fc70
403df5:	39 2e                	cmp    %ebp,(%esi)
403df7:	0f 8e c5 00 00 00    	jle    0x403ec2
403dfd:	8b 46 04             	mov    0x4(%esi),%eax
403e00:	56                   	push   %esi
403e01:	ff 34 85 c8 91 40 00 	push   0x4091c8(,%eax,4)
403e08:	66 8b 06             	mov    (%esi),%ax
403e0b:	66 03 05 80 36 42 00 	add    0x423680,%ax
403e12:	57                   	push   %edi
403e13:	0f b7 c0             	movzwl %ax,%eax
403e16:	50                   	push   %eax
403e17:	ff 35 a0 3e 42 00    	push   0x423ea0
403e1d:	ff 15 ec 71 40 00    	call   *0x4071ec
403e23:	3b c5                	cmp    %ebp,%eax
403e25:	a3 78 36 42 00       	mov    %eax,0x423678
403e2a:	0f 84 92 00 00 00    	je     0x403ec2
403e30:	ff 76 2c             	push   0x2c(%esi)
403e33:	6a 06                	push   $0x6
403e35:	50                   	push   %eax
403e36:	e8 dd 00 00 00       	call   0x403f18
403e3b:	8d 44 24 10          	lea    0x10(%esp),%eax
403e3f:	50                   	push   %eax
403e40:	68 fa 03 00 00       	push   $0x3fa
403e45:	57                   	push   %edi
403e46:	ff 15 2c 72 40 00    	call   *0x40722c
403e4c:	50                   	push   %eax
403e4d:	ff 15 74 71 40 00    	call   *0x407174
403e53:	8d 44 24 10          	lea    0x10(%esp),%eax
403e57:	50                   	push   %eax
403e58:	57                   	push   %edi
403e59:	ff 15 70 71 40 00    	call   *0x407170
403e5f:	6a 15                	push   $0x15
403e61:	55                   	push   %ebp
403e62:	55                   	push   %ebp
403e63:	ff 74 24 20          	push   0x20(%esp)
403e67:	ff 74 24 20          	push   0x20(%esp)
403e6b:	55                   	push   %ebp
403e6c:	ff 35 78 36 42 00    	push   0x423678
403e72:	ff 15 88 71 40 00    	call   *0x407188
403e78:	55                   	push   %ebp
403e79:	ff 76 0c             	push   0xc(%esi)
403e7c:	e8 08 d5 ff ff       	call   0x401389
403e81:	39 2d 6c 36 42 00    	cmp    %ebp,0x42366c
403e87:	75 5c                	jne    0x403ee5
403e89:	6a 08                	push   $0x8
403e8b:	ff 35 78 36 42 00    	push   0x423678
403e91:	ff 15 60 72 40 00    	call   *0x407260
403e97:	68 05 04 00 00       	push   $0x405
403e9c:	e8 c3 00 00 00       	call   0x403f64
403ea1:	eb 1f                	jmp    0x403ec2
403ea3:	ff 35 78 36 42 00    	push   0x423678
403ea9:	ff 15 e8 71 40 00    	call   *0x4071e8
403eaf:	ff 35 68 f8 41 00    	push   0x41f868
403eb5:	89 2d a8 3e 42 00    	mov    %ebp,0x423ea8
403ebb:	57                   	push   %edi
403ebc:	ff 15 6c 71 40 00    	call   *0x40716c
403ec2:	39 2d a0 14 42 00    	cmp    %ebp,0x4214a0
403ec8:	75 1b                	jne    0x403ee5
403eca:	39 2d 78 36 42 00    	cmp    %ebp,0x423678
403ed0:	74 13                	je     0x403ee5
403ed2:	6a 0a                	push   $0xa
403ed4:	57                   	push   %edi
403ed5:	ff 15 60 72 40 00    	call   *0x407260
403edb:	c7 05 a0 14 42 00 01 	movl   $0x1,0x4214a0
403ee2:	00 00 00
403ee5:	33 c0                	xor    %eax,%eax
403ee7:	5f                   	pop    %edi
403ee8:	5e                   	pop    %esi
403ee9:	5d                   	pop    %ebp
403eea:	5b                   	pop    %ebx
403eeb:	83 c4 10             	add    $0x10,%esp
403eee:	c2 10 00             	ret    $0x10
403ef1:	83 7c 24 04 78       	cmpl   $0x78,0x4(%esp)
403ef6:	75 06                	jne    0x403efe
403ef8:	ff 05 6c 36 42 00    	incl   0x42366c
403efe:	6a 00                	push   $0x0
403f00:	ff 74 24 08          	push   0x8(%esp)
403f04:	68 08 04 00 00       	push   $0x408
403f09:	ff 35 a8 3e 42 00    	push   0x423ea8
403f0f:	ff 15 44 72 40 00    	call   *0x407244
403f15:	c2 04 00             	ret    $0x4
403f18:	ff 74 24 0c          	push   0xc(%esp)
403f1c:	6a 00                	push   $0x0
403f1e:	e8 65 1c 00 00       	call   0x405b88
403f23:	50                   	push   %eax
403f24:	8b 44 24 0c          	mov    0xc(%esp),%eax
403f28:	05 e8 03 00 00       	add    $0x3e8,%eax
403f2d:	50                   	push   %eax
403f2e:	ff 74 24 0c          	push   0xc(%esp)
403f32:	e8 ce 14 00 00       	call   0x405405
403f37:	c2 0c 00             	ret    $0xc
403f3a:	ff 74 24 04          	push   0x4(%esp)
403f3e:	ff 35 98 04 42 00    	push   0x420498
403f44:	ff 15 3c 72 40 00    	call   *0x40723c
403f4a:	c2 04 00             	ret    $0x4
403f4d:	6a 01                	push   $0x1
403f4f:	ff 74 24 08          	push   0x8(%esp)
403f53:	6a 28                	push   $0x28
403f55:	ff 35 a8 3e 42 00    	push   0x423ea8
403f5b:	ff 15 44 72 40 00    	call   *0x407244
403f61:	c2 04 00             	ret    $0x4
403f64:	a1 78 36 42 00       	mov    0x423678,%eax
403f69:	85 c0                	test   %eax,%eax
403f6b:	74 0f                	je     0x403f7c
403f6d:	6a 00                	push   $0x0
403f6f:	6a 00                	push   $0x0
403f71:	ff 74 24 0c          	push   0xc(%esp)
403f75:	50                   	push   %eax
403f76:	ff 15 44 72 40 00    	call   *0x407244
403f7c:	c2 04 00             	ret    $0x4
403f7f:	55                   	push   %ebp
403f80:	8b ec                	mov    %esp,%ebp
403f82:	83 ec 0c             	sub    $0xc,%esp
403f85:	8b 45 08             	mov    0x8(%ebp),%eax
403f88:	56                   	push   %esi
403f89:	05 cd fe ff ff       	add    $0xfffffecd,%eax
403f8e:	83 f8 05             	cmp    $0x5,%eax
403f91:	0f 87 8e 00 00 00    	ja     0x404025
403f97:	6a eb                	push   $0xffffffeb
403f99:	ff 75 10             	push   0x10(%ebp)
403f9c:	ff 15 90 71 40 00    	call   *0x407190
403fa2:	8b f0                	mov    %eax,%esi
403fa4:	85 f6                	test   %esi,%esi
403fa6:	74 7d                	je     0x404025
403fa8:	f6 46 14 02          	testb  $0x2,0x14(%esi)
403fac:	8b 06                	mov    (%esi),%eax
403fae:	57                   	push   %edi
403faf:	8b 3d 8c 71 40 00    	mov    0x40718c,%edi
403fb5:	74 03                	je     0x403fba
403fb7:	50                   	push   %eax
403fb8:	ff d7                	call   *%edi
403fba:	f6 46 14 01          	testb  $0x1,0x14(%esi)
403fbe:	74 0a                	je     0x403fca
403fc0:	50                   	push   %eax
403fc1:	ff 75 0c             	push   0xc(%ebp)
403fc4:	ff 15 54 70 40 00    	call   *0x407054
403fca:	ff 76 10             	push   0x10(%esi)
403fcd:	ff 75 0c             	push   0xc(%ebp)
403fd0:	ff 15 50 70 40 00    	call   *0x407050
403fd6:	8b 46 04             	mov    0x4(%esi),%eax
403fd9:	f6 46 14 08          	testb  $0x8,0x14(%esi)
403fdd:	89 45 f8             	mov    %eax,-0x8(%ebp)
403fe0:	74 06                	je     0x403fe8
403fe2:	50                   	push   %eax
403fe3:	ff d7                	call   *%edi
403fe5:	89 45 f8             	mov    %eax,-0x8(%ebp)
403fe8:	f6 46 14 04          	testb  $0x4,0x14(%esi)
403fec:	5f                   	pop    %edi
403fed:	74 0a                	je     0x403ff9
403fef:	50                   	push   %eax
403ff0:	ff 75 0c             	push   0xc(%ebp)
403ff3:	ff 15 3c 70 40 00    	call   *0x40703c
403ff9:	f6 46 14 10          	testb  $0x10,0x14(%esi)
403ffd:	74 21                	je     0x404020
403fff:	8b 46 08             	mov    0x8(%esi),%eax
404002:	89 45 f4             	mov    %eax,-0xc(%ebp)
404005:	8b 46 0c             	mov    0xc(%esi),%eax
404008:	85 c0                	test   %eax,%eax
40400a:	74 07                	je     0x404013
40400c:	50                   	push   %eax
40400d:	ff 15 44 70 40 00    	call   *0x407044
404013:	8d 45 f4             	lea    -0xc(%ebp),%eax
404016:	50                   	push   %eax
404017:	ff 15 48 70 40 00    	call   *0x407048
40401d:	89 46 0c             	mov    %eax,0xc(%esi)