40488d:	ff 15 5c e2 43 00    	call   *0x43e25c
404893:	ff d6                	call   *%esi
404895:	83 c4 18             	add    $0x18,%esp
404898:	32 c0                	xor    %al,%al
40489a:	eb 41                	jmp    0x4048dd
40489c:	a1 28 72 45 00       	mov    0x457228,%eax
4048a1:	85 c0                	test   %eax,%eax
4048a3:	74 24                	je     0x4048c9
4048a5:	68 50 eb 44 00       	push   $0x44eb50
4048aa:	8b 30                	mov    (%eax),%esi
4048ac:	68 10 ea 44 00       	push   $0x44ea10
4048b1:	68 54 9f 44 00       	push   $0x449f54
4048b6:	6a 32                	push   $0x32
4048b8:	8b 76 34             	mov    0x34(%esi),%esi
4048bb:	8b ce                	mov    %esi,%ecx
4048bd:	50                   	push   %eax
4048be:	ff 15 5c e2 43 00    	call   *0x43e25c
4048c4:	ff d6                	call   *%esi
4048c6:	83 c4 14             	add    $0x14,%esp
4048c9:	32 c0                	xor    %al,%al
4048cb:	eb 10                	jmp    0x4048dd
4048cd:	6a 1b                	push   $0x1b
4048cf:	68 b0 eb 44 00       	push   $0x44ebb0
4048d4:	8b ce                	mov    %esi,%ecx
4048d6:	e8 95 e4 ff ff       	call   0x402d70
4048db:	b0 01                	mov    $0x1,%al
4048dd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4048e0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4048e7:	59                   	pop    %ecx
4048e8:	5e                   	pop    %esi
4048e9:	5b                   	pop    %ebx
4048ea:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4048ed:	33 cd                	xor    %ebp,%ecx
4048ef:	e8 b6 52 01 00       	call   0x419baa
4048f4:	8b e5                	mov    %ebp,%esp
4048f6:	5d                   	pop    %ebp
4048f7:	c3                   	ret
4048f8:	cc                   	int3
4048f9:	cc                   	int3
4048fa:	cc                   	int3
4048fb:	cc                   	int3
4048fc:	cc                   	int3
4048fd:	cc                   	int3
4048fe:	cc                   	int3
4048ff:	cc                   	int3
404900:	53                   	push   %ebx
404901:	8b d9                	mov    %ecx,%ebx
404903:	56                   	push   %esi
404904:	57                   	push   %edi
404905:	8b 7b 10             	mov    0x10(%ebx),%edi
404908:	85 ff                	test   %edi,%edi
40490a:	0f 84 7f 00 00 00    	je     0x40498f
404910:	33 c9                	xor    %ecx,%ecx
404912:	8d 47 01             	lea    0x1(%edi),%eax
404915:	ba 02 00 00 00       	mov    $0x2,%edx
40491a:	f7 e2                	mul    %edx
40491c:	0f 90 c1             	seto   %cl
40491f:	f7 d9                	neg    %ecx
404921:	0b c8                	or     %eax,%ecx
404923:	51                   	push   %ecx
404924:	e8 35 f1 01 00       	call   0x423a5e
404929:	8b f0                	mov    %eax,%esi
40492b:	83 c4 04             	add    $0x4,%esp
40492e:	85 f6                	test   %esi,%esi
404930:	74 5d                	je     0x40498f
404932:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
404936:	8b c3                	mov    %ebx,%eax
404938:	72 02                	jb     0x40493c
40493a:	8b 03                	mov    (%ebx),%eax
40493c:	50                   	push   %eax
40493d:	8d 47 01             	lea    0x1(%edi),%eax
404940:	50                   	push   %eax
404941:	56                   	push   %esi
404942:	e8 1f ef 01 00       	call   0x423866
404947:	8d 47 ff             	lea    -0x1(%edi),%eax
40494a:	83 c4 0c             	add    $0xc,%esp
40494d:	66 83 3c 46 5c       	cmpw   $0x5c,(%esi,%eax,2)
404952:	8d 04 46             	lea    (%esi,%eax,2),%eax
404955:	75 24                	jne    0x40497b
404957:	33 c9                	xor    %ecx,%ecx
404959:	66 89 08             	mov    %cx,(%eax)
40495c:	8b c6                	mov    %esi,%eax
40495e:	8d 50 02             	lea    0x2(%eax),%edx
404961:	66 8b 08             	mov    (%eax),%cx
404964:	83 c0 02             	add    $0x2,%eax
404967:	66 85 c9             	test   %cx,%cx
40496a:	75 f5                	jne    0x404961
40496c:	2b c2                	sub    %edx,%eax
40496e:	d1 f8                	sar    $1,%eax
404970:	48                   	dec    %eax
404971:	66 83 3c 46 5c       	cmpw   $0x5c,(%esi,%eax,2)
404976:	8d 04 46             	lea    (%esi,%eax,2),%eax
404979:	74 dc                	je     0x404957
40497b:	56                   	push   %esi
40497c:	ff 15 2c e2 43 00    	call   *0x43e22c
404982:	85 c0                	test   %eax,%eax
404984:	75 0f                	jne    0x404995
404986:	56                   	push   %esi
404987:	e8 97 52 01 00       	call   0x419c23
40498c:	83 c4 04             	add    $0x4,%esp
40498f:	5f                   	pop    %edi
404990:	5e                   	pop    %esi
404991:	32 c0                	xor    %al,%al
404993:	5b                   	pop    %ebx
404994:	c3                   	ret
404995:	8b ce                	mov    %esi,%ecx
404997:	8d 51 02             	lea    0x2(%ecx),%edx
40499a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4049a0:	66 8b 01             	mov    (%ecx),%ax
4049a3:	83 c1 02             	add    $0x2,%ecx
4049a6:	66 85 c0             	test   %ax,%ax
4049a9:	75 f5                	jne    0x4049a0
4049ab:	2b ca                	sub    %edx,%ecx
4049ad:	d1 f9                	sar    $1,%ecx
4049af:	51                   	push   %ecx
4049b0:	56                   	push   %esi
4049b1:	8b cb                	mov    %ebx,%ecx
4049b3:	e8 38 e5 ff ff       	call   0x402ef0
4049b8:	56                   	push   %esi
4049b9:	e8 85 f0 01 00       	call   0x423a43
4049be:	83 c4 04             	add    $0x4,%esp
4049c1:	b0 01                	mov    $0x1,%al
4049c3:	5f                   	pop    %edi
4049c4:	5e                   	pop    %esi
4049c5:	5b                   	pop    %ebx
4049c6:	c3                   	ret
4049c7:	cc                   	int3
4049c8:	cc                   	int3
4049c9:	cc                   	int3
4049ca:	cc                   	int3
4049cb:	cc                   	int3
4049cc:	cc                   	int3
4049cd:	cc                   	int3
4049ce:	cc                   	int3
4049cf:	cc                   	int3
4049d0:	57                   	push   %edi
4049d1:	8b f9                	mov    %ecx,%edi
4049d3:	8b c7                	mov    %edi,%eax
4049d5:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
4049d9:	72 02                	jb     0x4049dd
4049db:	8b 07                	mov    (%edi),%eax
4049dd:	50                   	push   %eax
4049de:	ff 15 14 e2 43 00    	call   *0x43e214
4049e4:	85 c0                	test   %eax,%eax
4049e6:	0f 84 9f 01 00 00    	je     0x404b8b
4049ec:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
4049f0:	8b c7                	mov    %edi,%eax
4049f2:	72 02                	jb     0x4049f6
4049f4:	8b 07                	mov    (%edi),%eax
4049f6:	50                   	push   %eax
4049f7:	ff 15 10 e2 43 00    	call   *0x43e210
4049fd:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
404a01:	8b c7                	mov    %edi,%eax
404a03:	72 02                	jb     0x404a07
404a05:	8b 07                	mov    (%edi),%eax
404a07:	53                   	push   %ebx
404a08:	56                   	push   %esi
404a09:	50                   	push   %eax
404a0a:	ff 15 c4 e0 43 00    	call   *0x43e0c4
404a10:	83 f8 01             	cmp    $0x1,%eax
404a13:	0f 94 c3             	sete   %bl
404a16:	0f 84 d1 00 00 00    	je     0x404aed
404a1c:	ff 15 6c e0 43 00    	call   *0x43e06c
404a22:	83 f8 05             	cmp    $0x5,%eax
404a25:	0f 85 c2 00 00 00    	jne    0x404aed
404a2b:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
404a2f:	8b c7                	mov    %edi,%eax
404a31:	72 02                	jb     0x404a35
404a33:	8b 07                	mov    (%edi),%eax
404a35:	50                   	push   %eax
404a36:	ff 15 bc e0 43 00    	call   *0x43e0bc
404a3c:	8b d0                	mov    %eax,%edx
404a3e:	f6 c2 01             	test   $0x1,%dl
404a41:	0f 84 a6 00 00 00    	je     0x404aed
404a47:	8b 35 24 72 45 00    	mov    0x457224,%esi
404a4d:	85 f6                	test   %esi,%esi
404a4f:	74 36                	je     0x404a87
404a51:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
404a55:	8b cf                	mov    %edi,%ecx
404a57:	72 02                	jb     0x404a5b
404a59:	8b 0f                	mov    (%edi),%ecx
404a5b:	52                   	push   %edx
404a5c:	51                   	push   %ecx
404a5d:	68 00 ec 44 00       	push   $0x44ec00
404a62:	68 54 9f 44 00       	push   $0x449f54
404a67:	68 54 9f 44 00       	push   $0x449f54
404a6c:	68 10 ea 44 00       	push   $0x44ea10
404a71:	68 24 ea 44 00       	push   $0x44ea24
404a76:	6a 14                	push   $0x14
404a78:	8b ce                	mov    %esi,%ecx
404a7a:	ff 15 5c e2 43 00    	call   *0x43e25c
404a80:	ff d6                	call   *%esi
404a82:	83 c4 20             	add    $0x20,%esp
404a85:	eb 39                	jmp    0x404ac0
404a87:	a1 28 72 45 00       	mov    0x457228,%eax
404a8c:	85 c0                	test   %eax,%eax
404a8e:	74 30                	je     0x404ac0
404a90:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
404a94:	8b cf                	mov    %edi,%ecx
404a96:	72 02                	jb     0x404a9a
404a98:	8b 0f                	mov    (%edi),%ecx
404a9a:	8b 30                	mov    (%eax),%esi
404a9c:	52                   	push   %edx
404a9d:	51                   	push   %ecx
404a9e:	68 00 ec 44 00       	push   $0x44ec00
404aa3:	8b 76 34             	mov    0x34(%esi),%esi
404aa6:	8b ce                	mov    %esi,%ecx
404aa8:	68 10 ea 44 00       	push   $0x44ea10
404aad:	68 54 9f 44 00       	push   $0x449f54
404ab2:	6a 14                	push   $0x14
404ab4:	50                   	push   %eax
404ab5:	ff 15 5c e2 43 00    	call   *0x43e25c
404abb:	ff d6                	call   *%esi
404abd:	83 c4 1c             	add    $0x1c,%esp
404ac0:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
404ac4:	8b c7                	mov    %edi,%eax
404ac6:	72 02                	jb     0x404aca
404ac8:	8b 07                	mov    (%edi),%eax
404aca:	68 80 00 00 00       	push   $0x80
404acf:	50                   	push   %eax
404ad0:	ff 15 c0 e0 43 00    	call   *0x43e0c0
404ad6:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
404ada:	8b c7                	mov    %edi,%eax
404adc:	72 02                	jb     0x404ae0
404ade:	8b 07                	mov    (%edi),%eax
404ae0:	50                   	push   %eax
404ae1:	ff 15 c4 e0 43 00    	call   *0x43e0c4
404ae7:	83 f8 01             	cmp    $0x1,%eax
404aea:	0f 94 c3             	sete   %bl
404aed:	84 db                	test   %bl,%bl
404aef:	0f 85 90 00 00 00    	jne    0x404b85
404af5:	83 3d 24 72 45 00 00 	cmpl   $0x0,0x457224
404afc:	74 44                	je     0x404b42
404afe:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
404b02:	72 02                	jb     0x404b06
404b04:	8b 3f                	mov    (%edi),%edi
404b06:	ff 15 6c e0 43 00    	call   *0x43e06c
404b0c:	8b 35 24 72 45 00    	mov    0x457224,%esi
404b12:	8b ce                	mov    %esi,%ecx
404b14:	50                   	push   %eax
404b15:	57                   	push   %edi
404b16:	68 d0 ec 44 00       	push   $0x44ecd0
404b1b:	68 54 9f 44 00       	push   $0x449f54
404b20:	68 54 9f 44 00       	push   $0x449f54
404b25:	68 10 ea 44 00       	push   $0x44ea10
404b2a:	68 24 ea 44 00       	push   $0x44ea24
404b2f:	6a 32                	push   $0x32
404b31:	ff 15 5c e2 43 00    	call   *0x43e25c
404b37:	ff d6                	call   *%esi
404b39:	83 c4 20             	add    $0x20,%esp
404b3c:	8a c3                	mov    %bl,%al
404b3e:	5e                   	pop    %esi
404b3f:	5b                   	pop    %ebx
404b40:	5f                   	pop    %edi
404b41:	c3                   	ret
404b42:	8b 35 28 72 45 00    	mov    0x457228,%esi
404b48:	85 f6                	test   %esi,%esi
404b4a:	74 39                	je     0x404b85
404b4c:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
404b50:	72 02                	jb     0x404b54
404b52:	8b 3f                	mov    (%edi),%edi
404b54:	8b 36                	mov    (%esi),%esi
404b56:	ff 15 6c e0 43 00    	call   *0x43e06c
404b5c:	8b 76 34             	mov    0x34(%esi),%esi
404b5f:	8b ce                	mov    %esi,%ecx
404b61:	50                   	push   %eax
404b62:	57                   	push   %edi
404b63:	68 d0 ec 44 00       	push   $0x44ecd0
404b68:	68 10 ea 44 00       	push   $0x44ea10
404b6d:	68 54 9f 44 00       	push   $0x449f54
404b72:	6a 32                	push   $0x32
404b74:	ff 35 28 72 45 00    	push   0x457228
404b7a:	ff 15 5c e2 43 00    	call   *0x43e25c
404b80:	ff d6                	call   *%esi
404b82:	83 c4 1c             	add    $0x1c,%esp
404b85:	5e                   	pop    %esi
404b86:	8a c3                	mov    %bl,%al
404b88:	5b                   	pop    %ebx
404b89:	5f                   	pop    %edi
404b8a:	c3                   	ret
404b8b:	b0 01                	mov    $0x1,%al
404b8d:	5f                   	pop    %edi
404b8e:	c3                   	ret
404b8f:	cc                   	int3
404b90:	57                   	push   %edi
404b91:	8b f9                	mov    %ecx,%edi
404b93:	8b 0f                	mov    (%edi),%ecx
404b95:	85 c9                	test   %ecx,%ecx
404b97:	74 64                	je     0x404bfd
404b99:	8b 57 04             	mov    0x4(%edi),%edx
404b9c:	56                   	push   %esi
404b9d:	51                   	push   %ecx
404b9e:	e8 6d 04 00 00       	call   0x405010
404ba3:	8b 4f 08             	mov    0x8(%edi),%ecx
404ba6:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
404bab:	8b 37                	mov    (%edi),%esi
404bad:	83 c4 04             	add    $0x4,%esp
404bb0:	2b ce                	sub    %esi,%ecx
404bb2:	f7 e9                	imul   %ecx
404bb4:	c1 fa 02             	sar    $0x2,%edx
404bb7:	8b c2                	mov    %edx,%eax
404bb9:	c1 e8 1f             	shr    $0x1f,%eax
404bbc:	03 c2                	add    %edx,%eax
404bbe:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
404bc1:	c1 e1 03             	shl    $0x3,%ecx
404bc4:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
404bca:	72 12                	jb     0x404bde
404bcc:	8b 56 fc             	mov    -0x4(%esi),%edx
404bcf:	83 c1 23             	add    $0x23,%ecx
404bd2:	2b f2                	sub    %edx,%esi
404bd4:	8d 46 fc             	lea    -0x4(%esi),%eax
404bd7:	83 f8 1f             	cmp    $0x1f,%eax
404bda:	77 23                	ja     0x404bff
404bdc:	8b f2                	mov    %edx,%esi
404bde:	51                   	push   %ecx
404bdf:	56                   	push   %esi
404be0:	e8 d3 4f 01 00       	call   0x419bb8
404be5:	83 c4 08             	add    $0x8,%esp
404be8:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
404bee:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
404bf5:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
404bfc:	5e                   	pop    %esi
404bfd:	5f                   	pop    %edi
404bfe:	c3                   	ret
404bff:	e8 8f ad 01 00       	call   0x41f993
404c04:	cc                   	int3
404c05:	cc                   	int3
404c06:	cc                   	int3
404c07:	cc                   	int3
404c08:	cc                   	int3
404c09:	cc                   	int3
404c0a:	cc                   	int3
404c0b:	cc                   	int3
404c0c:	cc                   	int3
404c0d:	cc                   	int3
404c0e:	cc                   	int3
404c0f:	cc                   	int3
404c10:	55                   	push   %ebp
404c11:	8b ec                	mov    %esp,%ebp
404c13:	56                   	push   %esi
404c14:	57                   	push   %edi
404c15:	8b 7d 08             	mov    0x8(%ebp),%edi
404c18:	8b f1                	mov    %ecx,%esi
404c1a:	3b f7                	cmp    %edi,%esi
404c1c:	74 65                	je     0x404c83
404c1e:	8b 4e 14             	mov    0x14(%esi),%ecx
404c21:	83 f9 08             	cmp    $0x8,%ecx
404c24:	72 2d                	jb     0x404c53
404c26:	8b 06                	mov    (%esi),%eax
404c28:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx