402d53:	ff b6 94 8b 00 00    	push   0x8b94(%esi)
402d59:	8b cf                	mov    %edi,%ecx
402d5b:	53                   	push   %ebx
402d5c:	e8 bb 89 00 00       	call   0x40b71c
402d61:	6a 01                	push   $0x1
402d63:	8d 9e 68 8b 00 00    	lea    0x8b68(%esi),%ebx
402d69:	ff 33                	push   (%ebx)
402d6b:	8d 8e 98 4b 00 00    	lea    0x4b98(%esi),%ecx
402d71:	e8 8d 6a 00 00       	call   0x409803
402d76:	8b 8e 54 8b 00 00    	mov    0x8b54(%esi),%ecx
402d7c:	ff 75 0c             	push   0xc(%ebp)
402d7f:	8b 86 50 8b 00 00    	mov    0x8b50(%esi),%eax
402d85:	89 8e 54 1c 00 00    	mov    %ecx,0x1c54(%esi)
402d8b:	56                   	push   %esi
402d8c:	8b cf                	mov    %edi,%ecx
402d8e:	89 86 50 1c 00 00    	mov    %eax,0x1c50(%esi)
402d94:	c6 86 58 1c 00 00 00 	movb   $0x0,0x1c58(%esi)
402d9b:	e8 5c 89 00 00       	call   0x40b6fc
402da0:	8a 86 91 8b 00 00    	mov    0x8b91(%esi),%al
402da6:	88 86 8f 34 00 00    	mov    %al,0x348f(%esi)
402dac:	83 67 3c 00          	andl   $0x0,0x3c(%edi)
402db0:	8d 86 08 7b 00 00    	lea    0x7b08(%esi),%eax
402db6:	89 47 38             	mov    %eax,0x38(%edi)
402db9:	80 be 22 7b 00 00 00 	cmpb   $0x0,0x7b22(%esi)
402dc0:	8b 86 58 8b 00 00    	mov    0x8b58(%esi),%eax
402dc6:	8b 8e 5c 8b 00 00    	mov    0x8b5c(%esi),%ecx
402dcc:	89 85 34 65 ff ff    	mov    %eax,-0x9acc(%ebp)
402dd2:	89 8d 38 65 ff ff    	mov    %ecx,-0x9ac8(%ebp)
402dd8:	c6 85 4c 65 ff ff 00 	movb   $0x0,-0x9ab4(%ebp)
402ddf:	75 0a                	jne    0x402deb
402de1:	51                   	push   %ecx
402de2:	50                   	push   %eax
402de3:	57                   	push   %edi
402de4:	e8 ea 43 00 00       	call   0x4071d3
402de9:	eb 15                	jmp    0x402e00
402deb:	0f b6 86 21 7b 00 00 	movzbl 0x7b21(%esi),%eax
402df2:	6a 00                	push   $0x0
402df4:	50                   	push   %eax
402df5:	8d 8d f4 18 ff ff    	lea    -0xe70c(%ebp),%ecx
402dfb:	e8 fe 58 01 00       	call   0x4186fe
402e00:	0f b6 8e c2 8b 00 00 	movzbl 0x8bc2(%esi),%ecx
402e07:	f7 d9                	neg    %ecx
402e09:	1b c9                	sbb    %ecx,%ecx
402e0b:	8d 86 c3 8b 00 00    	lea    0x8bc3(%esi),%eax
402e11:	23 c8                	and    %eax,%ecx
402e13:	51                   	push   %ecx
402e14:	53                   	push   %ebx
402e15:	8d 8e 98 4b 00 00    	lea    0x4b98(%esi),%ecx
402e1b:	e8 47 6c 00 00       	call   0x409a67
402e20:	84 c0                	test   %al,%al
402e22:	75 33                	jne    0x402e57
402e24:	8d 86 28 7b 00 00    	lea    0x7b28(%esi),%eax
402e2a:	50                   	push   %eax
402e2b:	83 c6 1e             	add    $0x1e,%esi
402e2e:	56                   	push   %esi
402e2f:	6a 1d                	push   $0x1d
402e31:	e8 a3 36 00 00       	call   0x4064d9
402e36:	6a 03                	push   $0x3
402e38:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
402e3d:	e8 c8 35 00 00       	call   0x40640a
402e42:	8b 4d 08             	mov    0x8(%ebp),%ecx
402e45:	85 c9                	test   %ecx,%ecx
402e47:	0f 84 84 fe ff ff    	je     0x402cd1
402e4d:	e8 27 dc 00 00       	call   0x410a79
402e52:	e9 7a fe ff ff       	jmp    0x402cd1
402e57:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
402e5b:	8d 8d f4 18 ff ff    	lea    -0xe70c(%ebp),%ecx
402e61:	e8 b0 23 01 00       	call   0x415216
402e66:	e9 09 fe ff ff       	jmp    0x402c74
402e6b:	83 c6 1e             	add    $0x1e,%esi
402e6e:	56                   	push   %esi
402e6f:	6a 1c                	push   $0x1c
402e71:	e8 3a 36 00 00       	call   0x4064b0
402e76:	32 c0                	xor    %al,%al
402e78:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402e7b:	5f                   	pop    %edi
402e7c:	5e                   	pop    %esi
402e7d:	5b                   	pop    %ebx
402e7e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402e85:	c9                   	leave
402e86:	c2 08 00             	ret    $0x8
402e89:	55                   	push   %ebp
402e8a:	83 ec 50             	sub    $0x50,%esp
402e8d:	b8 da 91 42 00       	mov    $0x4291da,%eax
402e92:	e8 21 70 01 00       	call   0x419eb8
402e97:	b8 70 20 00 00       	mov    $0x2070,%eax
402e9c:	e8 2f 76 01 00       	call   0x41a4d0
402ea1:	53                   	push   %ebx
402ea2:	56                   	push   %esi
402ea3:	8b d9                	mov    %ecx,%ebx
402ea5:	57                   	push   %edi
402ea6:	53                   	push   %ebx
402ea7:	8d 4d 28             	lea    0x28(%ebp),%ecx
402eaa:	e8 20 87 00 00       	call   0x40b5cf
402eaf:	33 ff                	xor    %edi,%edi
402eb1:	80 bb 3c a2 00 00 00 	cmpb   $0x0,0xa23c(%ebx)
402eb8:	89 7d fc             	mov    %edi,-0x4(%ebp)
402ebb:	74 4f                	je     0x402f0c
402ebd:	8b 83 40 a2 00 00    	mov    0xa240(%ebx),%eax
402ec3:	8b 93 24 a2 00 00    	mov    0xa224(%ebx),%edx
402ec9:	33 c9                	xor    %ecx,%ecx
402ecb:	83 c0 08             	add    $0x8,%eax
402ece:	13 cf                	adc    %edi,%ecx
402ed0:	3b d1                	cmp    %ecx,%edx
402ed2:	7c 38                	jl     0x402f0c
402ed4:	7f 0a                	jg     0x402ee0
402ed6:	8b 8b 20 a2 00 00    	mov    0xa220(%ebx),%ecx
402edc:	3b c8                	cmp    %eax,%ecx
402ede:	76 2c                	jbe    0x402f0c
402ee0:	8b cb                	mov    %ebx,%ecx
402ee2:	c6 45 53 01          	movb   $0x1,0x53(%ebp)
402ee6:	e8 9e ec ff ff       	call   0x401b89
402eeb:	8b 03                	mov    (%ebx),%eax
402eed:	6a 10                	push   $0x10
402eef:	8d 4d 10             	lea    0x10(%ebp),%ecx
402ef2:	51                   	push   %ecx
402ef3:	8b cb                	mov    %ebx,%ecx
402ef5:	ff 50 08             	call   *0x8(%eax)
402ef8:	83 f8 10             	cmp    $0x10,%eax
402efb:	74 15                	je     0x402f12
402efd:	8b cb                	mov    %ebx,%ecx
402eff:	e8 ea ec ff ff       	call   0x401bee
402f04:	39 7d 28             	cmp    %edi,0x28(%ebp)
402f07:	e9 d1 06 00 00       	jmp    0x4035dd
402f0c:	c6 45 53 00          	movb   $0x0,0x53(%ebp)
402f10:	eb 7a                	jmp    0x402f8c
402f12:	8d 45 20             	lea    0x20(%ebp),%eax
402f15:	50                   	push   %eax
402f16:	57                   	push   %edi
402f17:	ff b3 a8 57 00 00    	push   0x57a8(%ebx)
402f1d:	8d 45 10             	lea    0x10(%ebp),%eax
402f20:	50                   	push   %eax
402f21:	8d 83 ac 57 00 00    	lea    0x57ac(%ebx),%eax
402f27:	50                   	push   %eax
402f28:	8b 83 04 57 00 00    	mov    0x5704(%ebx),%eax
402f2e:	05 20 40 00 00       	add    $0x4020,%eax
402f33:	50                   	push   %eax
402f34:	6a 05                	push   $0x5
402f36:	8d b3 24 10 00 00    	lea    0x1024(%ebx),%esi
402f3c:	57                   	push   %edi
402f3d:	8b ce                	mov    %esi,%ecx
402f3f:	e8 f3 31 00 00       	call   0x406137
402f44:	80 bb a4 57 00 00 00 	cmpb   $0x0,0x57a4(%ebx)
402f4b:	74 3c                	je     0x402f89
402f4d:	6a 08                	push   $0x8
402f4f:	8d 83 bc 57 00 00    	lea    0x57bc(%ebx),%eax
402f55:	50                   	push   %eax
402f56:	8d 45 20             	lea    0x20(%ebp),%eax
402f59:	50                   	push   %eax
402f5a:	e8 85 76 01 00       	call   0x41a5e4
402f5f:	83 c4 0c             	add    $0xc,%esp
402f62:	85 c0                	test   %eax,%eax
402f64:	74 23                	je     0x402f89
402f66:	8d 43 1e             	lea    0x1e(%ebx),%eax
402f69:	50                   	push   %eax
402f6a:	6a 06                	push   $0x6
402f6c:	e8 3f 35 00 00       	call   0x4064b0
402f71:	6a 0b                	push   $0xb
402f73:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
402f78:	c6 83 45 a2 00 00 01 	movb   $0x1,0xa245(%ebx)
402f7f:	e8 86 34 00 00       	call   0x40640a
402f84:	e9 7b ff ff ff       	jmp    0x402f04
402f89:	89 75 44             	mov    %esi,0x44(%ebp)
402f8c:	6a 07                	push   $0x7
402f8e:	8d 4d 28             	lea    0x28(%ebp),%ecx
402f91:	e8 cb 83 00 00       	call   0x40b361
402f96:	83 f8 07             	cmp    $0x7,%eax
402f99:	0f 82 5e ff ff ff    	jb     0x402efd
402f9f:	8d 4d 28             	lea    0x28(%ebp),%ecx
402fa2:	c6 83 3c 57 00 00 00 	movb   $0x0,0x573c(%ebx)
402fa9:	8d b3 2c 57 00 00    	lea    0x572c(%ebx),%esi
402faf:	e8 94 84 00 00       	call   0x40b448
402fb4:	6a 04                	push   $0x4
402fb6:	8d 4d 28             	lea    0x28(%ebp),%ecx
402fb9:	89 06                	mov    %eax,(%esi)
402fbb:	e8 49 85 00 00       	call   0x40b509
402fc0:	8d 4d 28             	lea    0x28(%ebp),%ecx
402fc3:	8b f8                	mov    %eax,%edi
402fc5:	e8 dc 84 00 00       	call   0x40b4a6
402fca:	8b c8                	mov    %eax,%ecx
402fcc:	0b ca                	or     %edx,%ecx
402fce:	0f 84 fe 05 00 00    	je     0x4035d2
402fd4:	85 ff                	test   %edi,%edi
402fd6:	0f 84 f6 05 00 00    	je     0x4035d2
402fdc:	03 c7                	add    %edi,%eax
402fde:	8d 48 fd             	lea    -0x3(%eax),%ecx
402fe1:	8d 78 04             	lea    0x4(%eax),%edi
402fe4:	85 c9                	test   %ecx,%ecx
402fe6:	0f 8c e6 05 00 00    	jl     0x4035d2
402fec:	83 ff 07             	cmp    $0x7,%edi
402fef:	0f 82 dd 05 00 00    	jb     0x4035d2
402ff5:	51                   	push   %ecx
402ff6:	8d 4d 28             	lea    0x28(%ebp),%ecx
402ff9:	e8 63 83 00 00       	call   0x40b361
402ffe:	39 7d 3c             	cmp    %edi,0x3c(%ebp)
403001:	73 0c                	jae    0x40300f
403003:	8b cb                	mov    %ebx,%ecx
403005:	e8 e4 eb ff ff       	call   0x401bee
40300a:	e9 ca 05 00 00       	jmp    0x4035d9
40300f:	8d 4d 28             	lea    0x28(%ebp),%ecx
403012:	e8 98 85 00 00       	call   0x40b5af
403017:	8d 4d 28             	lea    0x28(%ebp),%ecx
40301a:	89 45 4c             	mov    %eax,0x4c(%ebp)
40301d:	e8 84 84 00 00       	call   0x40b4a6
403022:	8d 4d 28             	lea    0x28(%ebp),%ecx
403025:	89 83 30 57 00 00    	mov    %eax,0x5730(%ebx)
40302b:	e8 76 84 00 00       	call   0x40b4a6
403030:	89 83 34 57 00 00    	mov    %eax,0x5734(%ebx)
403036:	c1 e8 02             	shr    $0x2,%eax
403039:	24 01                	and    $0x1,%al
40303b:	88 83 3c 57 00 00    	mov    %al,0x573c(%ebx)
403041:	8b 83 30 57 00 00    	mov    0x5730(%ebx),%eax
403047:	89 83 24 57 00 00    	mov    %eax,0x5724(%ebx)
40304d:	8b 45 4c             	mov    0x4c(%ebp),%eax
403050:	39 06                	cmp    %eax,(%esi)
403052:	89 bb 38 57 00 00    	mov    %edi,0x5738(%ebx)
403058:	0f 95 45 4b          	setne  0x4b(%ebp)
40305c:	80 7d 4b 00          	cmpb   $0x0,0x4b(%ebp)
403060:	74 38                	je     0x40309a
403062:	8b cb                	mov    %ebx,%ecx
403064:	e8 ce eb ff ff       	call   0x401c37
403069:	6a 03                	push   $0x3
40306b:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
403070:	c6 83 44 a2 00 00 01 	movb   $0x1,0xa244(%ebx)
403077:	e8 8e 33 00 00       	call   0x40640a
40307c:	80 7d 53 00          	cmpb   $0x0,0x53(%ebp)
403080:	74 18                	je     0x40309a
403082:	8d 43 1e             	lea    0x1e(%ebx),%eax
403085:	50                   	push   %eax
403086:	50                   	push   %eax
403087:	6a 04                	push   $0x4
403089:	e8 4b 34 00 00       	call   0x4064d9
40308e:	c6 83 45 a2 00 00 01 	movb   $0x1,0xa245(%ebx)
403095:	e9 3f 05 00 00       	jmp    0x4035d9
40309a:	33 ff                	xor    %edi,%edi
40309c:	f6 83 34 57 00 00 01 	testb  $0x1,0x5734(%ebx)
4030a3:	89 7d 18             	mov    %edi,0x18(%ebp)
4030a6:	89 7d 1c             	mov    %edi,0x1c(%ebp)
4030a9:	74 2d                	je     0x4030d8
4030ab:	8d 4d 28             	lea    0x28(%ebp),%ecx
4030ae:	e8 f3 83 00 00       	call   0x40b4a6
4030b3:	33 c9                	xor    %ecx,%ecx
4030b5:	89 45 18             	mov    %eax,0x18(%ebp)
4030b8:	8b 83 38 57 00 00    	mov    0x5738(%ebx),%eax
4030be:	89 55 1c             	mov    %edx,0x1c(%ebp)
4030c1:	3b d1                	cmp    %ecx,%edx
4030c3:	72 13                	jb     0x4030d8
4030c5:	77 05                	ja     0x4030cc
4030c7:	39 45 18             	cmp    %eax,0x18(%ebp)
4030ca:	72 0c                	jb     0x4030d8
4030cc:	8b cb                	mov    %ebx,%ecx
4030ce:	e8 64 eb ff ff       	call   0x401c37
4030d3:	e9 2c fe ff ff       	jmp    0x402f04
4030d8:	f6 83 34 57 00 00 02 	testb  $0x2,0x5734(%ebx)
4030df:	89 7d 20             	mov    %edi,0x20(%ebp)
4030e2:	89 7d 24             	mov    %edi,0x24(%ebp)
4030e5:	74 0e                	je     0x4030f5
4030e7:	8d 4d 28             	lea    0x28(%ebp),%ecx
4030ea:	e8 b7 83 00 00       	call   0x40b4a6
4030ef:	89 45 20             	mov    %eax,0x20(%ebp)
4030f2:	89 55 24             	mov    %edx,0x24(%ebp)
4030f5:	ff b3 38 57 00 00    	push   0x5738(%ebx)
4030fb:	8b cb                	mov    %ebx,%ecx
4030fd:	e8 d2 df ff ff       	call   0x4010d4
403102:	33 c9                	xor    %ecx,%ecx
403104:	03 83 20 a2 00 00    	add    0xa220(%ebx),%eax
40310a:	13 8b 24 a2 00 00    	adc    0xa224(%ebx),%ecx
403110:	03 45 20             	add    0x20(%ebp),%eax
403113:	13 4d 24             	adc    0x24(%ebp),%ecx
403116:	89 83 28 a2 00 00    	mov    %eax,0xa228(%ebx)
40311c:	8b 83 30 57 00 00    	mov    0x5730(%ebx),%eax
403122:	89 8b 2c a2 00 00    	mov    %ecx,0xa22c(%ebx)
403128:	83 f8 01             	cmp    $0x1,%eax
40312b:	0f 84 b9 03 00 00    	je     0x4034ea
403131:	0f 8e 67 04 00 00    	jle    0x40359e
403137:	83 f8 03             	cmp    $0x3,%eax
40313a:	0f 8e 14 01 00 00    	jle    0x403254
403140:	83 f8 04             	cmp    $0x4,%eax
403143:	74 3d                	je     0x403182
403145:	83 f8 05             	cmp    $0x5,%eax
403148:	0f 85 50 04 00 00    	jne    0x40359e
40314e:	50                   	push   %eax
40314f:	59                   	pop    %ecx
403150:	8d bb c8 7a 00 00    	lea    0x7ac8(%ebx),%edi
403156:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
403158:	8d 4d 28             	lea    0x28(%ebp),%ecx
40315b:	e8 46 83 00 00       	call   0x40b4a6
403160:	24 01                	and    $0x1,%al
403162:	88 83 e4 7a 00 00    	mov    %al,0x7ae4(%ebx)
403168:	c6 83 e7 7a 00 00 00 	movb   $0x0,0x7ae7(%ebx)
40316f:	c6 83 e5 7a 00 00 00 	movb   $0x0,0x7ae5(%ebx)
403176:	c6 83 e6 7a 00 00 00 	movb   $0x0,0x7ae6(%ebx)
40317d:	e9 1c 04 00 00       	jmp    0x40359e
403182:	6a 05                	push   $0x5
403184:	59                   	pop    %ecx
403185:	8d bb 90 57 00 00    	lea    0x5790(%ebx),%edi
40318b:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40318d:	8d 4d 28             	lea    0x28(%ebp),%ecx
403190:	e8 11 83 00 00       	call   0x40b4a6
403195:	85 c0                	test   %eax,%eax
403197:	76 10                	jbe    0x4031a9
403199:	8d 43 1e             	lea    0x1e(%ebx),%eax
40319c:	50                   	push   %eax
40319d:	8b cb                	mov    %ebx,%ecx
40319f:	e8 b6 ea ff ff       	call   0x401c5a
4031a4:	e9 30 04 00 00       	jmp    0x4035d9
4031a9:	8d 4d 28             	lea    0x28(%ebp),%ecx
4031ac:	e8 f5 82 00 00       	call   0x40b4a6
4031b1:	24 01                	and    $0x1,%al
4031b3:	8d 4d 28             	lea    0x28(%ebp),%ecx
4031b6:	88 83 a4 57 00 00    	mov    %al,0x57a4(%ebx)
4031bc:	e8 3a 82 00 00       	call   0x40b3fb
4031c1:	0f b6 c0             	movzbl %al,%eax
4031c4:	89 83 a8 57 00 00    	mov    %eax,0x57a8(%ebx)
4031ca:	83 f8 18             	cmp    $0x18,%eax
4031cd:	77 ca                	ja     0x403199
4031cf:	6a 10                	push   $0x10
4031d1:	8d 83 ac 57 00 00    	lea    0x57ac(%ebx),%eax
4031d7:	50                   	push   %eax
4031d8:	8d 4d 28             	lea    0x28(%ebp),%ecx
4031db:	e8 4f 83 00 00       	call   0x40b52f
4031e0:	80 bb a4 57 00 00 00 	cmpb   $0x0,0x57a4(%ebx)
4031e7:	74 5f                	je     0x403248
4031e9:	6a 08                	push   $0x8
4031eb:	8d b3 bc 57 00 00    	lea    0x57bc(%ebx),%esi
4031f1:	56                   	push   %esi
4031f2:	8d 4d 28             	lea    0x28(%ebp),%ecx
4031f5:	e8 35 83 00 00       	call   0x40b52f
4031fa:	6a 04                	push   $0x4
4031fc:	8d 45 4c             	lea    0x4c(%ebp),%eax
4031ff:	50                   	push   %eax
403200:	8d 4d 28             	lea    0x28(%ebp),%ecx
403203:	e8 27 83 00 00       	call   0x40b52f
403208:	8d 45 84             	lea    -0x7c(%ebp),%eax
40320b:	50                   	push   %eax
40320c:	e8 20 d2 00 00       	call   0x410431
403211:	6a 08                	push   $0x8
403213:	56                   	push   %esi
403214:	8d 45 84             	lea    -0x7c(%ebp),%eax
403217:	50                   	push   %eax
403218:	e8 16 d5 00 00       	call   0x410733
40321d:	8d 45 00             	lea    0x0(%ebp),%eax
403220:	50                   	push   %eax
403221:	8d 45 84             	lea    -0x7c(%ebp),%eax
403224:	50                   	push   %eax
403225:	e8 82 d5 00 00       	call   0x4107ac
40322a:	6a 04                	push   $0x4
40322c:	8d 45 00             	lea    0x0(%ebp),%eax
40322f:	50                   	push   %eax
403230:	8d 45 4c             	lea    0x4c(%ebp),%eax