404852:	8b ea                	mov    %edx,%ebp
404854:	f6 45 00 10          	testb  $0x10,0x0(%ebp)
404858:	0f 84 a1 00 00 00    	je     0x4048ff
40485e:	f6 85 48 0a 00 00 10 	testb  $0x10,0xa48(%ebp)
404865:	74 08                	je     0x40486f
404867:	8b 9d 4c 0a 00 00    	mov    0xa4c(%ebp),%ebx
40486d:	eb 05                	jmp    0x404874
40486f:	bb c8 be 45 00       	mov    $0x45bec8,%ebx
404874:	33 ff                	xor    %edi,%edi
404876:	8d ac 24 28 02 00 00 	lea    0x228(%esp),%ebp
40487d:	8d 49 00             	lea    0x0(%ecx),%ecx
404880:	8b 4c 24 10          	mov    0x10(%esp),%ecx
404884:	6a 00                	push   $0x0
404886:	68 1c c6 45 00       	push   $0x45c61c
40488b:	6a 00                	push   $0x0
40488d:	53                   	push   %ebx
40488e:	55                   	push   %ebp
40488f:	68 e0 c5 45 00       	push   $0x45c5e0
404894:	8d 54 24 38          	lea    0x38(%esp),%edx
404898:	52                   	push   %edx
404899:	56                   	push   %esi
40489a:	8b d7                	mov    %edi,%edx
40489c:	e8 6f f6 ff ff       	call   0x403f10
4048a1:	83 c4 20             	add    $0x20,%esp
4048a4:	85 c0                	test   %eax,%eax
4048a6:	78 3d                	js     0x4048e5
4048a8:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4048ac:	6a 01                	push   $0x1
4048ae:	68 1c c6 45 00       	push   $0x45c61c
4048b3:	6a 00                	push   $0x0
4048b5:	53                   	push   %ebx
4048b6:	55                   	push   %ebp
4048b7:	68 e0 c5 45 00       	push   $0x45c5e0
4048bc:	8d 44 24 38          	lea    0x38(%esp),%eax
4048c0:	50                   	push   %eax
4048c1:	56                   	push   %esi
4048c2:	8b d7                	mov    %edi,%edx
4048c4:	e8 47 f6 ff ff       	call   0x403f10
4048c9:	83 c4 20             	add    $0x20,%esp
4048cc:	85 c0                	test   %eax,%eax
4048ce:	78 15                	js     0x4048e5
4048d0:	47                   	inc    %edi
4048d1:	81 c5 08 02 00 00    	add    $0x208,%ebp
4048d7:	83 ff 03             	cmp    $0x3,%edi
4048da:	72 a4                	jb     0x404880
4048dc:	8b ac 24 48 08 00 00 	mov    0x848(%esp),%ebp
4048e3:	eb 1a                	jmp    0x4048ff
4048e5:	8b 8c 24 48 08 00 00 	mov    0x848(%esp),%ecx
4048ec:	f6 41 02 10          	testb  $0x10,0x2(%ecx)
4048f0:	75 0b                	jne    0x4048fd
4048f2:	c1 e0 10             	shl    $0x10,%eax
4048f5:	83 c8 01             	or     $0x1,%eax
4048f8:	8b d1                	mov    %ecx,%edx
4048fa:	89 42 08             	mov    %eax,0x8(%edx)
4048fd:	8b e9                	mov    %ecx,%ebp
4048ff:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
404904:	74 07                	je     0x40490d
404906:	e8 65 41 00 00       	call   0x408a70
40490b:	eb 05                	jmp    0x404912
40490d:	e8 9e 41 00 00       	call   0x408ab0
404912:	8b 44 24 10          	mov    0x10(%esp),%eax
404916:	50                   	push   %eax
404917:	e8 f4 17 00 00       	call   0x406110
40491c:	8b 4c 24 18          	mov    0x18(%esp),%ecx
404920:	51                   	push   %ecx
404921:	e8 da 37 00 00       	call   0x408100
404926:	8b 54 24 1c          	mov    0x1c(%esp),%edx
40492a:	52                   	push   %edx
40492b:	e8 e0 17 00 00       	call   0x406110
404930:	8b 45 08             	mov    0x8(%ebp),%eax
404933:	50                   	push   %eax
404934:	68 cc c5 45 00       	push   $0x45c5cc
404939:	56                   	push   %esi
40493a:	e8 73 b8 02 00       	call   0x4301b2
40493f:	8b 45 08             	mov    0x8(%ebp),%eax
404942:	83 c4 18             	add    $0x18,%esp
404945:	85 c0                	test   %eax,%eax
404947:	78 0e                	js     0x404957
404949:	c7 45 10 c0 c5 45 00 	movl   $0x45c5c0,0x10(%ebp)
404950:	c7 45 14 a0 c5 45 00 	movl   $0x45c5a0,0x14(%ebp)
404957:	33 c9                	xor    %ecx,%ecx
404959:	85 c0                	test   %eax,%eax
40495b:	0f 99 c1             	setns  %cl
40495e:	5f                   	pop    %edi
40495f:	5e                   	pop    %esi
404960:	5d                   	pop    %ebp
404961:	5b                   	pop    %ebx
404962:	8b c1                	mov    %ecx,%eax
404964:	81 c4 30 08 00 00    	add    $0x830,%esp
40496a:	c3                   	ret
40496b:	cc                   	int3
40496c:	cc                   	int3
40496d:	cc                   	int3
40496e:	cc                   	int3
40496f:	cc                   	int3
404970:	81 ec 10 04 00 00    	sub    $0x410,%esp
404976:	66 83 3d 30 03 47 00 	cmpw   $0x0,0x470330
40497d:	00
40497e:	53                   	push   %ebx
40497f:	56                   	push   %esi
404980:	57                   	push   %edi
404981:	74 07                	je     0x40498a
404983:	be 30 03 47 00       	mov    $0x470330,%esi
404988:	eb 34                	jmp    0x4049be
40498a:	68 04 01 00 00       	push   $0x104
40498f:	68 30 03 47 00       	push   $0x470330
404994:	68 90 c0 45 00       	push   $0x45c090
404999:	6a 00                	push   $0x0
40499b:	68 7c c0 45 00       	push   $0x45c07c
4049a0:	e8 0b 39 00 00       	call   0x4082b0
4049a5:	83 c4 14             	add    $0x14,%esp
4049a8:	85 c0                	test   %eax,%eax
4049aa:	75 10                	jne    0x4049bc
4049ac:	66 39 05 30 03 47 00 	cmp    %ax,0x470330
4049b3:	74 07                	je     0x4049bc
4049b5:	be 30 03 47 00       	mov    $0x470330,%esi
4049ba:	eb 02                	jmp    0x4049be
4049bc:	33 f6                	xor    %esi,%esi
4049be:	66 83 3d 38 05 47 00 	cmpw   $0x0,0x470538
4049c5:	00
4049c6:	74 07                	je     0x4049cf
4049c8:	bf 38 05 47 00       	mov    $0x470538,%edi
4049cd:	eb 34                	jmp    0x404a03
4049cf:	68 04 01 00 00       	push   $0x104
4049d4:	68 38 05 47 00       	push   $0x470538
4049d9:	68 b0 c0 45 00       	push   $0x45c0b0
4049de:	6a 00                	push   $0x0
4049e0:	68 7c c0 45 00       	push   $0x45c07c
4049e5:	e8 c6 38 00 00       	call   0x4082b0
4049ea:	83 c4 14             	add    $0x14,%esp
4049ed:	85 c0                	test   %eax,%eax
4049ef:	75 10                	jne    0x404a01
4049f1:	66 39 05 38 05 47 00 	cmp    %ax,0x470538
4049f8:	74 07                	je     0x404a01
4049fa:	bf 38 05 47 00       	mov    $0x470538,%edi
4049ff:	eb 02                	jmp    0x404a03
404a01:	33 ff                	xor    %edi,%edi
404a03:	56                   	push   %esi
404a04:	68 34 c8 45 00       	push   $0x45c834
404a09:	8d 84 24 1c 02 00 00 	lea    0x21c(%esp),%eax
404a10:	68 04 01 00 00       	push   $0x104
404a15:	50                   	push   %eax
404a16:	e8 44 bc 02 00       	call   0x43065f
404a1b:	57                   	push   %edi
404a1c:	68 14 c8 45 00       	push   $0x45c814
404a21:	8d 54 24 24          	lea    0x24(%esp),%edx
404a25:	33 c9                	xor    %ecx,%ecx
404a27:	68 04 01 00 00       	push   $0x104
404a2c:	52                   	push   %edx
404a2d:	66 89 8c 24 3a 04 00 	mov    %cx,0x43a(%esp)
404a34:	00
404a35:	e8 25 bc 02 00       	call   0x43065f
404a3a:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
404a3e:	33 c0                	xor    %eax,%eax
404a40:	51                   	push   %ecx
404a41:	66 89 84 24 36 02 00 	mov    %ax,0x236(%esp)
404a48:	00
404a49:	e8 f2 ed ff ff       	call   0x403840
404a4e:	83 c4 24             	add    $0x24,%esp
404a51:	6a 00                	push   $0x0
404a53:	8d 54 24 10          	lea    0x10(%esp),%edx
404a57:	52                   	push   %edx
404a58:	ff 15 6c 34 47 00    	call   *0x47346c
404a5e:	8b 9c 24 20 04 00 00 	mov    0x420(%esp),%ebx
404a65:	68 04 01 00 00       	push   $0x104
404a6a:	8d 73 18             	lea    0x18(%ebx),%esi
404a6d:	56                   	push   %esi
404a6e:	68 08 c8 45 00       	push   $0x45c808
404a73:	68 ec c7 45 00       	push   $0x45c7ec
404a78:	57                   	push   %edi
404a79:	e8 02 de ff ff       	call   0x402880
404a7e:	68 e4 c7 45 00       	push   $0x45c7e4
404a83:	56                   	push   %esi
404a84:	89 73 0c             	mov    %esi,0xc(%ebx)
404a87:	e8 c6 c7 02 00       	call   0x431252
404a8c:	8b f0                	mov    %eax,%esi
404a8e:	8b 84 24 40 04 00 00 	mov    0x440(%esp),%eax
404a95:	83 c4 1c             	add    $0x1c,%esp
404a98:	85 c0                	test   %eax,%eax
404a9a:	75 05                	jne    0x404aa1
404a9c:	b8 c4 c7 45 00       	mov    $0x45c7c4,%eax
404aa1:	50                   	push   %eax
404aa2:	68 c0 c7 45 00       	push   $0x45c7c0
404aa7:	56                   	push   %esi
404aa8:	e8 05 b7 02 00       	call   0x4301b2
404aad:	8d 84 24 20 02 00 00 	lea    0x220(%esp),%eax
404ab4:	50                   	push   %eax
404ab5:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
404ab9:	51                   	push   %ecx
404aba:	53                   	push   %ebx
404abb:	56                   	push   %esi
404abc:	e8 6f f9 ff ff       	call   0x404430
404ac1:	8d 54 24 28          	lea    0x28(%esp),%edx
404ac5:	52                   	push   %edx
404ac6:	8b f8                	mov    %eax,%edi
404ac8:	e8 73 ed ff ff       	call   0x403840
404acd:	50                   	push   %eax
404ace:	8d 44 24 30          	lea    0x30(%esp),%eax
404ad2:	50                   	push   %eax
404ad3:	68 98 c7 45 00       	push   $0x45c798
404ad8:	56                   	push   %esi
404ad9:	e8 d4 b6 02 00       	call   0x4301b2
404ade:	56                   	push   %esi
404adf:	e8 3c c6 02 00       	call   0x431120
404ae4:	83 c4 34             	add    $0x34,%esp
404ae7:	8b c7                	mov    %edi,%eax
404ae9:	5f                   	pop    %edi
404aea:	5e                   	pop    %esi
404aeb:	5b                   	pop    %ebx
404aec:	81 c4 10 04 00 00    	add    $0x410,%esp
404af2:	c3                   	ret
404af3:	cc                   	int3
404af4:	cc                   	int3
404af5:	cc                   	int3
404af6:	cc                   	int3
404af7:	cc                   	int3
404af8:	cc                   	int3
404af9:	cc                   	int3
404afa:	cc                   	int3
404afb:	cc                   	int3
404afc:	cc                   	int3
404afd:	cc                   	int3
404afe:	cc                   	int3
404aff:	cc                   	int3
404b00:	81 ec 14 04 00 00    	sub    $0x414,%esp
404b06:	8d 04 24             	lea    (%esp),%eax
404b09:	50                   	push   %eax
404b0a:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
404b11:	00
404b12:	e8 f9 df ff ff       	call   0x402b10
404b17:	83 c4 04             	add    $0x4,%esp
404b1a:	81 3c 24 82 00 00 00 	cmpl   $0x82,(%esp)
404b21:	75 0c                	jne    0x404b2f
404b23:	b8 01 00 00 00       	mov    $0x1,%eax
404b28:	81 c4 14 04 00 00    	add    $0x414,%esp
404b2e:	c3                   	ret
404b2f:	56                   	push   %esi
404b30:	8b b4 24 1c 04 00 00 	mov    0x41c(%esp),%esi
404b37:	85 f6                	test   %esi,%esi
404b39:	0f 85 5a 01 00 00    	jne    0x404c99
404b3f:	66 39 35 30 03 47 00 	cmp    %si,0x470330
404b46:	75 31                	jne    0x404b79
404b48:	68 04 01 00 00       	push   $0x104
404b4d:	68 30 03 47 00       	push   $0x470330
404b52:	68 90 c0 45 00       	push   $0x45c090
404b57:	56                   	push   %esi
404b58:	68 7c c0 45 00       	push   $0x45c07c
404b5d:	e8 4e 37 00 00       	call   0x4082b0
404b62:	83 c4 14             	add    $0x14,%esp
404b65:	85 c0                	test   %eax,%eax
404b67:	75 09                	jne    0x404b72
404b69:	66 39 05 30 03 47 00 	cmp    %ax,0x470330
404b70:	75 07                	jne    0x404b79
404b72:	b8 c8 be 45 00       	mov    $0x45bec8,%eax
404b77:	eb 05                	jmp    0x404b7e
404b79:	b8 30 03 47 00       	mov    $0x470330,%eax
404b7e:	50                   	push   %eax
404b7f:	68 d4 c0 45 00       	push   $0x45c0d4
404b84:	8d 4c 24 10          	lea    0x10(%esp),%ecx
404b88:	68 04 01 00 00       	push   $0x104
404b8d:	51                   	push   %ecx
404b8e:	e8 cc ba 02 00       	call   0x43065f
404b93:	83 c4 10             	add    $0x10,%esp
404b96:	68 04 01 00 00       	push   $0x104
404b9b:	8d 44 24 0c          	lea    0xc(%esp),%eax
404b9f:	50                   	push   %eax
404ba0:	8b c8                	mov    %eax,%ecx
404ba2:	33 d2                	xor    %edx,%edx
404ba4:	51                   	push   %ecx
404ba5:	66 89 94 24 1a 02 00 	mov    %dx,0x21a(%esp)
404bac:	00
404bad:	ff 15 64 34 47 00    	call   *0x473464
404bb3:	8d 44 24 08          	lea    0x8(%esp),%eax
404bb7:	8d 50 02             	lea    0x2(%eax),%edx
404bba:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
404bc0:	66 8b 08             	mov    (%eax),%cx
404bc3:	83 c0 02             	add    $0x2,%eax
404bc6:	66 85 c9             	test   %cx,%cx
404bc9:	75 f5                	jne    0x404bc0
404bcb:	2b c2                	sub    %edx,%eax
404bcd:	d1 f8                	sar    $1,%eax
404bcf:	ba 04 01 00 00       	mov    $0x104,%edx
404bd4:	2b d0                	sub    %eax,%edx
404bd6:	52                   	push   %edx
404bd7:	8d 44 24 0c          	lea    0xc(%esp),%eax
404bdb:	68 58 c8 45 00       	push   $0x45c858
404be0:	50                   	push   %eax
404be1:	e8 bb db 02 00       	call   0x4327a1
404be6:	33 c9                	xor    %ecx,%ecx
404be8:	83 c4 0c             	add    $0xc,%esp
404beb:	66 89 8c 24 0e 02 00 	mov    %cx,0x20e(%esp)
404bf2:	00
404bf3:	66 39 0d 30 03 47 00 	cmp    %cx,0x470330
404bfa:	75 31                	jne    0x404c2d
404bfc:	68 04 01 00 00       	push   $0x104
404c01:	68 30 03 47 00       	push   $0x470330
404c06:	68 90 c0 45 00       	push   $0x45c090
404c0b:	51                   	push   %ecx
404c0c:	68 7c c0 45 00       	push   $0x45c07c
404c11:	e8 9a 36 00 00       	call   0x4082b0
404c16:	83 c4 14             	add    $0x14,%esp
404c19:	85 c0                	test   %eax,%eax
404c1b:	75 09                	jne    0x404c26
404c1d:	66 39 05 30 03 47 00 	cmp    %ax,0x470330
404c24:	75 07                	jne    0x404c2d
404c26:	b8 c8 be 45 00       	mov    $0x45bec8,%eax
404c2b:	eb 05                	jmp    0x404c32
404c2d:	b8 30 03 47 00       	mov    $0x470330,%eax
404c32:	50                   	push   %eax
404c33:	68 d4 c0 45 00       	push   $0x45c0d4
404c38:	8d 94 24 18 02 00 00 	lea    0x218(%esp),%edx
404c3f:	68 04 01 00 00       	push   $0x104
404c44:	52                   	push   %edx
404c45:	e8 15 ba 02 00       	call   0x43065f
404c4a:	83 c4 10             	add    $0x10,%esp
404c4d:	33 c0                	xor    %eax,%eax
404c4f:	66 89 84 24 16 04 00 	mov    %ax,0x416(%esp)
404c56:	00
404c57:	8d 84 24 10 02 00 00 	lea    0x210(%esp),%eax
404c5e:	8d 50 02             	lea    0x2(%eax),%edx
404c61:	66 8b 08             	mov    (%eax),%cx
404c64:	83 c0 02             	add    $0x2,%eax
404c67:	66 85 c9             	test   %cx,%cx
404c6a:	75 f5                	jne    0x404c61
404c6c:	2b c2                	sub    %edx,%eax
404c6e:	d1 f8                	sar    $1,%eax
404c70:	b9 04 01 00 00       	mov    $0x104,%ecx
404c75:	2b c8                	sub    %eax,%ecx
404c77:	51                   	push   %ecx
404c78:	8d 94 24 14 02 00 00 	lea    0x214(%esp),%edx
404c7f:	68 58 c8 45 00       	push   $0x45c858
404c84:	52                   	push   %edx
404c85:	e8 17 db 02 00       	call   0x4327a1
404c8a:	83 c4 0c             	add    $0xc,%esp
404c8d:	33 c0                	xor    %eax,%eax
404c8f:	66 89 84 24 16 04 00 	mov    %ax,0x416(%esp)
404c96:	00
404c97:	eb 31                	jmp    0x404cca
404c99:	68 04 01 00 00       	push   $0x104
404c9e:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
404ca2:	51                   	push   %ecx
404ca3:	56                   	push   %esi
404ca4:	ff 15 64 34 47 00    	call   *0x473464
404caa:	68 04 01 00 00       	push   $0x104
404caf:	8d 84 24 14 02 00 00 	lea    0x214(%esp),%eax
404cb6:	33 d2                	xor    %edx,%edx
404cb8:	56                   	push   %esi
404cb9:	50                   	push   %eax
404cba:	66 89 94 24 1a 02 00 	mov    %dx,0x21a(%esp)
404cc1:	00