404929:	8b 45 e8             	mov    -0x18(%ebp),%eax
40492c:	85 c0                	test   %eax,%eax
40492e:	74 41                	je     0x404971
404930:	50                   	push   %eax
404931:	ba 00 1f 40 00       	mov    $0x401f00,%edx
404936:	8b ce                	mov    %esi,%ecx
404938:	e8 c7 1c 01 00       	call   0x416604
40493d:	85 c0                	test   %eax,%eax
40493f:	75 02                	jne    0x404943
404941:	33 db                	xor    %ebx,%ebx
404943:	8b 4d e8             	mov    -0x18(%ebp),%ecx
404946:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40494a:	85 c9                	test   %ecx,%ecx
40494c:	74 08                	je     0x404956
40494e:	51                   	push   %ecx
40494f:	ff 15 e0 a3 44 00    	call   *0x44a3e0
404955:	59                   	pop    %ecx
404956:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404959:	8b c3                	mov    %ebx,%eax
40495b:	5f                   	pop    %edi
40495c:	5e                   	pop    %esi
40495d:	33 cd                	xor    %ebp,%ecx
40495f:	5b                   	pop    %ebx
404960:	e8 cb 21 01 00       	call   0x416b30
404965:	c9                   	leave
404966:	c2 08 00             	ret    $0x8
404969:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
40496f:	eb a0                	jmp    0x404911
404971:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
404977:	eb b7                	jmp    0x404930
404979:	8b ff                	mov    %edi,%edi
40497b:	55                   	push   %ebp
40497c:	8b ec                	mov    %esp,%ebp
40497e:	f7 45 08 00 01 00 00 	testl  $0x100,0x8(%ebp)
404985:	0f 85 84 3b 01 00    	jne    0x41850f
40498b:	5d                   	pop    %ebp
40498c:	c2 04 00             	ret    $0x4
40498f:	8b ff                	mov    %edi,%edi
404991:	55                   	push   %ebp
404992:	8b ec                	mov    %esp,%ebp
404994:	83 ec 14             	sub    $0x14,%esp
404997:	53                   	push   %ebx
404998:	8b d9                	mov    %ecx,%ebx
40499a:	56                   	push   %esi
40499b:	57                   	push   %edi
40499c:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
4049a0:	0f 85 91 3b 01 00    	jne    0x418537
4049a6:	8b 53 10             	mov    0x10(%ebx),%edx
4049a9:	8b cb                	mov    %ebx,%ecx
4049ab:	e8 15 00 00 00       	call   0x4049c5
4049b0:	01 43 04             	add    %eax,0x4(%ebx)
4049b3:	33 c9                	xor    %ecx,%ecx
4049b5:	8b 43 10             	mov    0x10(%ebx),%eax
4049b8:	5f                   	pop    %edi
4049b9:	5e                   	pop    %esi
4049ba:	66 89 08             	mov    %cx,(%eax)
4049bd:	21 4b 08             	and    %ecx,0x8(%ebx)
4049c0:	33 c0                	xor    %eax,%eax
4049c2:	5b                   	pop    %ebx
4049c3:	c9                   	leave
4049c4:	c3                   	ret
4049c5:	8b ff                	mov    %edi,%edi
4049c7:	53                   	push   %ebx
4049c8:	56                   	push   %esi
4049c9:	57                   	push   %edi
4049ca:	8b fa                	mov    %edx,%edi
4049cc:	8b d9                	mov    %ecx,%ebx
4049ce:	33 f6                	xor    %esi,%esi
4049d0:	6a 0a                	push   $0xa
4049d2:	5a                   	pop    %edx
4049d3:	8b cf                	mov    %edi,%ecx
4049d5:	e8 55 5c 00 00       	call   0x40a62f
4049da:	8b c8                	mov    %eax,%ecx
4049dc:	85 c9                	test   %ecx,%ecx
4049de:	0f 85 a2 3c 01 00    	jne    0x418686
4049e4:	85 f6                	test   %esi,%esi
4049e6:	75 0a                	jne    0x4049f2
4049e8:	8b 43 08             	mov    0x8(%ebx),%eax
4049eb:	33 d2                	xor    %edx,%edx
4049ed:	f7 73 20             	divl   0x20(%ebx)
4049f0:	8b f0                	mov    %eax,%esi
4049f2:	5f                   	pop    %edi
4049f3:	8b c6                	mov    %esi,%eax
4049f5:	5e                   	pop    %esi
4049f6:	5b                   	pop    %ebx
4049f7:	c3                   	ret
4049f8:	8b ff                	mov    %edi,%edi
4049fa:	55                   	push   %ebp
4049fb:	8b ec                	mov    %esp,%ebp
4049fd:	83 ec 0c             	sub    $0xc,%esp
404a00:	53                   	push   %ebx
404a01:	56                   	push   %esi
404a02:	57                   	push   %edi
404a03:	8b f9                	mov    %ecx,%edi
404a05:	e8 95 00 00 00       	call   0x404a9f
404a0a:	33 c9                	xor    %ecx,%ecx
404a0c:	41                   	inc    %ecx
404a0d:	e8 ff 4f 00 00       	call   0x409a11
404a12:	8b 77 10             	mov    0x10(%edi),%esi
404a15:	85 c0                	test   %eax,%eax
404a17:	0f 85 83 3c 01 00    	jne    0x4186a0
404a1d:	8d 45 fc             	lea    -0x4(%ebp),%eax
404a20:	33 c9                	xor    %ecx,%ecx
404a22:	50                   	push   %eax
404a23:	8b 47 08             	mov    0x8(%edi),%eax
404a26:	8b d6                	mov    %esi,%edx
404a28:	03 c0                	add    %eax,%eax
404a2a:	41                   	inc    %ecx
404a2b:	50                   	push   %eax
404a2c:	e8 0a 51 00 00       	call   0x409b3b
404a31:	85 c0                	test   %eax,%eax
404a33:	0f 84 61 3d 01 00    	je     0x41879a
404a39:	8b 47 08             	mov    0x8(%edi),%eax
404a3c:	03 c0                	add    %eax,%eax
404a3e:	39 45 fc             	cmp    %eax,-0x4(%ebp)
404a41:	0f 85 53 3d 01 00    	jne    0x41879a
404a47:	33 c9                	xor    %ecx,%ecx
404a49:	41                   	inc    %ecx
404a4a:	e8 c2 4f 00 00       	call   0x409a11
404a4f:	85 c0                	test   %eax,%eax
404a51:	8d 45 fc             	lea    -0x4(%ebp),%eax
404a54:	0f 85 21 3d 01 00    	jne    0x41877b
404a5a:	50                   	push   %eax
404a5b:	33 c9                	xor    %ecx,%ecx
404a5d:	ba 8c 1f 40 00       	mov    $0x401f8c,%edx
404a62:	6a 04                	push   $0x4
404a64:	41                   	inc    %ecx
404a65:	e8 d1 50 00 00       	call   0x409b3b
404a6a:	8b 57 10             	mov    0x10(%edi),%edx
404a6d:	8b cf                	mov    %edi,%ecx
404a6f:	e8 51 ff ff ff       	call   0x4049c5
404a74:	40                   	inc    %eax
404a75:	8b cf                	mov    %edi,%ecx
404a77:	01 47 04             	add    %eax,0x4(%edi)
404a7a:	e8 20 00 00 00       	call   0x404a9f
404a7f:	8b 47 04             	mov    0x4(%edi),%eax
404a82:	3b 47 1c             	cmp    0x1c(%edi),%eax
404a85:	77 12                	ja     0x404a99
404a87:	8b 47 10             	mov    0x10(%edi),%eax
404a8a:	33 c9                	xor    %ecx,%ecx
404a8c:	66 89 08             	mov    %cx,(%eax)
404a8f:	21 4f 08             	and    %ecx,0x8(%edi)
404a92:	33 c0                	xor    %eax,%eax
404a94:	5f                   	pop    %edi
404a95:	5e                   	pop    %esi
404a96:	5b                   	pop    %ebx
404a97:	c9                   	leave
404a98:	c3                   	ret
404a99:	83 67 04 00          	andl   $0x0,0x4(%edi)
404a9d:	eb e8                	jmp    0x404a87
404a9f:	8b ff                	mov    %edi,%edi
404aa1:	56                   	push   %esi
404aa2:	8b f1                	mov    %ecx,%esi
404aa4:	8b 46 24             	mov    0x24(%esi),%eax
404aa7:	85 c0                	test   %eax,%eax
404aa9:	0f 85 26 3d 01 00    	jne    0x4187d5
404aaf:	5e                   	pop    %esi
404ab0:	c3                   	ret
404ab1:	8b ff                	mov    %edi,%edi
404ab3:	55                   	push   %ebp
404ab4:	8b ec                	mov    %esp,%ebp
404ab6:	81 ec 24 02 00 00    	sub    $0x224,%esp
404abc:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
404ac1:	33 c5                	xor    %ebp,%eax
404ac3:	89 45 fc             	mov    %eax,-0x4(%ebp)
404ac6:	53                   	push   %ebx
404ac7:	56                   	push   %esi
404ac8:	57                   	push   %edi
404ac9:	33 c0                	xor    %eax,%eax
404acb:	89 95 dc fd ff ff    	mov    %edx,-0x224(%ebp)
404ad1:	bf 04 01 00 00       	mov    $0x104,%edi
404ad6:	89 45 e8             	mov    %eax,-0x18(%ebp)
404ad9:	57                   	push   %edi
404ada:	50                   	push   %eax
404adb:	33 db                	xor    %ebx,%ebx
404add:	89 7d f0             	mov    %edi,-0x10(%ebp)
404ae0:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
404ae6:	43                   	inc    %ebx
404ae7:	50                   	push   %eax
404ae8:	8b f1                	mov    %ecx,%esi
404aea:	88 5d ec             	mov    %bl,-0x14(%ebp)
404aed:	e8 cb 34 01 00       	call   0x417fbd
404af2:	33 c0                	xor    %eax,%eax
404af4:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
404afa:	83 c4 0c             	add    $0xc,%esp
404afd:	38 45 ec             	cmp    %al,-0x14(%ebp)
404b00:	0f 94 c0             	sete   %al
404b03:	48                   	dec    %eax
404b04:	25 e3 7e 00 00       	and    $0x7ee3,%eax
404b09:	03 c7                	add    %edi,%eax
404b0b:	50                   	push   %eax
404b0c:	e8 df 98 00 00       	call   0x40e3f0
404b11:	85 c0                	test   %eax,%eax
404b13:	0f 88 97 00 00 00    	js     0x404bb0
404b19:	8b 7d 0c             	mov    0xc(%ebp),%edi
404b1c:	b9 34 24 40 00       	mov    $0x402434,%ecx
404b21:	83 c7 2c             	add    $0x2c,%edi
404b24:	8b c7                	mov    %edi,%eax
404b26:	66 8b 10             	mov    (%eax),%dx
404b29:	66 3b 11             	cmp    (%ecx),%dx
404b2c:	0f 85 a5 00 00 00    	jne    0x404bd7
404b32:	66 85 d2             	test   %dx,%dx
404b35:	74 19                	je     0x404b50
404b37:	66 8b 50 02          	mov    0x2(%eax),%dx
404b3b:	66 3b 51 02          	cmp    0x2(%ecx),%dx
404b3f:	0f 85 92 00 00 00    	jne    0x404bd7
404b45:	83 c0 04             	add    $0x4,%eax
404b48:	83 c1 04             	add    $0x4,%ecx
404b4b:	66 85 d2             	test   %dx,%dx
404b4e:	75 d6                	jne    0x404b26
404b50:	33 c0                	xor    %eax,%eax
404b52:	85 c0                	test   %eax,%eax
404b54:	0f 84 8c 00 00 00    	je     0x404be6
404b5a:	b9 10 25 40 00       	mov    $0x402510,%ecx
404b5f:	8b c7                	mov    %edi,%eax
404b61:	66 8b 10             	mov    (%eax),%dx
404b64:	66 3b 11             	cmp    (%ecx),%dx
404b67:	75 77                	jne    0x404be0
404b69:	66 85 d2             	test   %dx,%dx
404b6c:	74 15                	je     0x404b83
404b6e:	66 8b 50 02          	mov    0x2(%eax),%dx
404b72:	66 3b 51 02          	cmp    0x2(%ecx),%dx
404b76:	75 68                	jne    0x404be0
404b78:	83 c0 04             	add    $0x4,%eax
404b7b:	83 c1 04             	add    $0x4,%ecx
404b7e:	66 85 d2             	test   %dx,%dx
404b81:	75 de                	jne    0x404b61
404b83:	33 c0                	xor    %eax,%eax
404b85:	85 c0                	test   %eax,%eax
404b87:	74 5d                	je     0x404be6
404b89:	8b 95 dc fd ff ff    	mov    -0x224(%ebp),%edx
404b8f:	f6 c2 10             	test   $0x10,%dl
404b92:	0f 85 61 3c 01 00    	jne    0x4187f9
404b98:	51                   	push   %ecx
404b99:	57                   	push   %edi
404b9a:	8b ce                	mov    %esi,%ecx
404b9c:	e8 f7 fc ff ff       	call   0x404898
404ba1:	8b d8                	mov    %eax,%ebx
404ba3:	85 db                	test   %ebx,%ebx
404ba5:	75 09                	jne    0x404bb0
404ba7:	8b ce                	mov    %esi,%ecx
404ba9:	e8 4a fe ff ff       	call   0x4049f8
404bae:	8b d8                	mov    %eax,%ebx
404bb0:	8b 45 e8             	mov    -0x18(%ebp),%eax
404bb3:	33 c9                	xor    %ecx,%ecx
404bb5:	89 4d e8             	mov    %ecx,-0x18(%ebp)
404bb8:	85 c0                	test   %eax,%eax
404bba:	74 08                	je     0x404bc4
404bbc:	50                   	push   %eax
404bbd:	ff 15 e0 a3 44 00    	call   *0x44a3e0
404bc3:	59                   	pop    %ecx
404bc4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404bc7:	8b c3                	mov    %ebx,%eax
404bc9:	5f                   	pop    %edi
404bca:	5e                   	pop    %esi
404bcb:	33 cd                	xor    %ebp,%ecx
404bcd:	5b                   	pop    %ebx
404bce:	e8 5d 1f 01 00       	call   0x416b30
404bd3:	c9                   	leave
404bd4:	c2 08 00             	ret    $0x8
404bd7:	1b c0                	sbb    %eax,%eax
404bd9:	0b c3                	or     %ebx,%eax
404bdb:	e9 72 ff ff ff       	jmp    0x404b52
404be0:	1b c0                	sbb    %eax,%eax
404be2:	0b c3                	or     %ebx,%eax
404be4:	eb 9f                	jmp    0x404b85
404be6:	33 c0                	xor    %eax,%eax
404be8:	eb c4                	jmp    0x404bae
404bea:	cc                   	int3
404beb:	cc                   	int3
404bec:	cc                   	int3
404bed:	cc                   	int3
404bee:	cc                   	int3
404bef:	cc                   	int3
404bf0:	8b ff                	mov    %edi,%edi
404bf2:	55                   	push   %ebp
404bf3:	8b ec                	mov    %esp,%ebp
404bf5:	51                   	push   %ecx
404bf6:	8b 45 10             	mov    0x10(%ebp),%eax
404bf9:	81 20 ff ff ff 7f    	andl   $0x7fffffff,(%eax)
404bff:	f6 00 50             	testb  $0x50,(%eax)
404c02:	0f 84 93 3c 01 00    	je     0x41889b
404c08:	33 c0                	xor    %eax,%eax
404c0a:	59                   	pop    %ecx
404c0b:	5d                   	pop    %ebp
404c0c:	c2 0c 00             	ret    $0xc
404c0f:	cc                   	int3
404c10:	8b ff                	mov    %edi,%edi
404c12:	55                   	push   %ebp
404c13:	8b ec                	mov    %esp,%ebp
404c15:	83 e4 f8             	and    $0xfffffff8,%esp
404c18:	b8 b4 42 00 00       	mov    $0x42b4,%eax
404c1d:	e8 5e 33 01 00       	call   0x417f80
404c22:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
404c27:	33 c4                	xor    %esp,%eax
404c29:	89 84 24 b0 42 00 00 	mov    %eax,0x42b0(%esp)
404c30:	8b 55 08             	mov    0x8(%ebp),%edx
404c33:	53                   	push   %ebx
404c34:	8b 5d 0c             	mov    0xc(%ebp),%ebx
404c37:	56                   	push   %esi
404c38:	8b 75 10             	mov    0x10(%ebp),%esi
404c3b:	57                   	push   %edi
404c3c:	8b 7d 14             	mov    0x14(%ebp),%edi
404c3f:	8d 4b 04             	lea    0x4(%ebx),%ecx
404c42:	8b 41 20             	mov    0x20(%ecx),%eax
404c45:	89 4c 24 10          	mov    %ecx,0x10(%esp)
404c49:	8b 49 1c             	mov    0x1c(%ecx),%ecx
404c4c:	01 42 28             	add    %eax,0x28(%edx)
404c4f:	89 54 24 18          	mov    %edx,0x18(%esp)
404c53:	11 4a 2c             	adc    %ecx,0x2c(%edx)
404c56:	8b 07                	mov    (%edi),%eax
404c58:	8b d0                	mov    %eax,%edx
404c5a:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
404c5e:	89 7c 24 20          	mov    %edi,0x20(%esp)
404c62:	a8 10                	test   $0x10,%al
404c64:	0f 85 5e 3c 01 00    	jne    0x4188c8
404c6a:	f6 c2 40             	test   $0x40,%dl
404c6d:	0f 84 89 3c 01 00    	je     0x4188fc
404c73:	8b 44 24 18          	mov    0x18(%esp),%eax
404c77:	8b 4c 24 10          	mov    0x10(%esp),%ecx
404c7b:	51                   	push   %ecx
404c7c:	8b ce                	mov    %esi,%ecx
404c7e:	ff 70 04             	push   0x4(%eax)
404c81:	e8 2b fe ff ff       	call   0x404ab1
404c86:	8b d8                	mov    %eax,%ebx
404c88:	8b c3                	mov    %ebx,%eax
404c8a:	8b 8c 24 bc 42 00 00 	mov    0x42bc(%esp),%ecx
404c91:	5f                   	pop    %edi
404c92:	5e                   	pop    %esi
404c93:	5b                   	pop    %ebx
404c94:	33 cc                	xor    %esp,%ecx
404c96:	e8 95 1e 01 00       	call   0x416b30
404c9b:	8b e5                	mov    %ebp,%esp
404c9d:	5d                   	pop    %ebp
404c9e:	c2 10 00             	ret    $0x10
404ca1:	cc                   	int3
404ca2:	cc                   	int3
404ca3:	cc                   	int3
404ca4:	cc                   	int3
404ca5:	cc                   	int3
404ca6:	cc                   	int3
404ca7:	cc                   	int3
404ca8:	cc                   	int3
404ca9:	cc                   	int3
404caa:	cc                   	int3
404cab:	cc                   	int3
404cac:	cc                   	int3
404cad:	cc                   	int3
404cae:	cc                   	int3
404caf:	cc                   	int3