4048e4:	8b 11                	mov    (%ecx),%edx
4048e6:	85 d2                	test   %edx,%edx
4048e8:	75 1d                	jne    0x404907
4048ea:	57                   	push   %edi
4048eb:	bf 00 01 00 00       	mov    $0x100,%edi
4048f0:	66 3b f7             	cmp    %di,%si
4048f3:	5f                   	pop    %edi
4048f4:	73 11                	jae    0x404907
4048f6:	8d 4e 9f             	lea    -0x61(%esi),%ecx
4048f9:	66 83 f9 19          	cmp    $0x19,%cx
4048fd:	77 32                	ja     0x404931
4048ff:	83 c6 e0             	add    $0xffffffe0,%esi
404902:	0f b7 c6             	movzwl %si,%eax
404905:	eb 2a                	jmp    0x404931
404907:	ff 71 04             	push   0x4(%ecx)
40490a:	8d 45 fc             	lea    -0x4(%ebp),%eax
40490d:	6a 01                	push   $0x1
40490f:	50                   	push   %eax
404910:	6a 01                	push   $0x1
404912:	8d 45 08             	lea    0x8(%ebp),%eax
404915:	50                   	push   %eax
404916:	68 00 02 00 00       	push   $0x200
40491b:	52                   	push   %edx
40491c:	6a 00                	push   $0x0
40491e:	e8 c8 2f 00 00       	call   0x4078eb
404923:	83 c4 20             	add    $0x20,%esp
404926:	85 c0                	test   %eax,%eax
404928:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
40492c:	74 03                	je     0x404931
40492e:	8b 45 fc             	mov    -0x4(%ebp),%eax
404931:	5e                   	pop    %esi
404932:	c9                   	leave
404933:	c3                   	ret
404934:	8b ff                	mov    %edi,%edi
404936:	55                   	push   %ebp
404937:	8b ec                	mov    %esp,%ebp
404939:	83 ec 24             	sub    $0x24,%esp
40493c:	a1 68 b2 42 00       	mov    0x42b268,%eax
404941:	33 c5                	xor    %ebp,%eax
404943:	89 45 fc             	mov    %eax,-0x4(%ebp)
404946:	6a 0a                	push   $0xa
404948:	6a 1f                	push   $0x1f
40494a:	8d 45 dd             	lea    -0x23(%ebp),%eax
40494d:	50                   	push   %eax
40494e:	6a 00                	push   $0x0
404950:	ff 75 08             	push   0x8(%ebp)
404953:	c6 45 dc 2e          	movb   $0x2e,-0x24(%ebp)
404957:	e8 e5 31 00 00       	call   0x407b41
40495c:	8d 45 dc             	lea    -0x24(%ebp),%eax
40495f:	50                   	push   %eax
404960:	6a 00                	push   $0x0
404962:	e8 98 2c 00 00       	call   0x4075ff
404967:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40496a:	33 cd                	xor    %ebp,%ecx
40496c:	83 c4 1c             	add    $0x1c,%esp
40496f:	e8 b2 1c 00 00       	call   0x406626
404974:	c9                   	leave
404975:	c3                   	ret
404976:	8b ff                	mov    %edi,%edi
404978:	55                   	push   %ebp
404979:	8b ec                	mov    %esp,%ebp
40497b:	51                   	push   %ecx
40497c:	8b 45 08             	mov    0x8(%ebp),%eax
40497f:	53                   	push   %ebx
404980:	56                   	push   %esi
404981:	57                   	push   %edi
404982:	6a 3e                	push   $0x3e
404984:	33 d2                	xor    %edx,%edx
404986:	59                   	pop    %ecx
404987:	f7 f1                	div    %ecx
404989:	33 f6                	xor    %esi,%esi
40498b:	8d 04 95 98 06 43 00 	lea    0x430698(,%edx,4),%eax
404992:	89 45 fc             	mov    %eax,-0x4(%ebp)
404995:	8b 45 fc             	mov    -0x4(%ebp),%eax
404998:	8b 38                	mov    (%eax),%edi
40499a:	8b df                	mov    %edi,%ebx
40499c:	85 ff                	test   %edi,%edi
40499e:	74 0e                	je     0x4049ae
4049a0:	8b 43 04             	mov    0x4(%ebx),%eax
4049a3:	3b 45 08             	cmp    0x8(%ebp),%eax
4049a6:	74 45                	je     0x4049ed
4049a8:	8b 1b                	mov    (%ebx),%ebx
4049aa:	85 db                	test   %ebx,%ebx
4049ac:	75 f2                	jne    0x4049a0
4049ae:	85 f6                	test   %esi,%esi
4049b0:	75 22                	jne    0x4049d4
4049b2:	6a 0c                	push   $0xc
4049b4:	e8 a7 31 00 00       	call   0x407b60
4049b9:	8b f0                	mov    %eax,%esi
4049bb:	59                   	pop    %ecx
4049bc:	85 f6                	test   %esi,%esi
4049be:	74 4d                	je     0x404a0d
4049c0:	8b 5d 08             	mov    0x8(%ebp),%ebx
4049c3:	53                   	push   %ebx
4049c4:	e8 6b ff ff ff       	call   0x404934
4049c9:	59                   	pop    %ecx
4049ca:	89 46 08             	mov    %eax,0x8(%esi)
4049cd:	85 c0                	test   %eax,%eax
4049cf:	74 35                	je     0x404a06
4049d1:	89 5e 04             	mov    %ebx,0x4(%esi)
4049d4:	57                   	push   %edi
4049d5:	56                   	push   %esi
4049d6:	ff 75 fc             	push   -0x4(%ebp)
4049d9:	89 3e                	mov    %edi,(%esi)
4049db:	ff 15 7c a0 41 00    	call   *0x41a07c
4049e1:	3b c7                	cmp    %edi,%eax
4049e3:	75 b0                	jne    0x404995
4049e5:	8b 46 08             	mov    0x8(%esi),%eax
4049e8:	5f                   	pop    %edi
4049e9:	5e                   	pop    %esi
4049ea:	5b                   	pop    %ebx
4049eb:	c9                   	leave
4049ec:	c3                   	ret
4049ed:	85 f6                	test   %esi,%esi
4049ef:	74 10                	je     0x404a01
4049f1:	ff 76 08             	push   0x8(%esi)
4049f4:	e8 a3 20 00 00       	call   0x406a9c
4049f9:	56                   	push   %esi
4049fa:	e8 21 06 00 00       	call   0x405020
4049ff:	59                   	pop    %ecx
404a00:	59                   	pop    %ecx
404a01:	8b 43 08             	mov    0x8(%ebx),%eax
404a04:	eb e2                	jmp    0x4049e8
404a06:	56                   	push   %esi
404a07:	e8 14 06 00 00       	call   0x405020
404a0c:	59                   	pop    %ecx
404a0d:	33 c0                	xor    %eax,%eax
404a0f:	eb d7                	jmp    0x4049e8
404a11:	8b ff                	mov    %edi,%edi
404a13:	53                   	push   %ebx
404a14:	56                   	push   %esi
404a15:	57                   	push   %edi
404a16:	bb 98 06 43 00       	mov    $0x430698,%ebx
404a1b:	6a 00                	push   $0x0
404a1d:	53                   	push   %ebx
404a1e:	ff 15 44 a0 41 00    	call   *0x41a044
404a24:	8b f0                	mov    %eax,%esi
404a26:	85 f6                	test   %esi,%esi
404a28:	74 18                	je     0x404a42
404a2a:	ff 76 08             	push   0x8(%esi)
404a2d:	8b 3e                	mov    (%esi),%edi
404a2f:	e8 68 20 00 00       	call   0x406a9c
404a34:	56                   	push   %esi
404a35:	e8 e6 05 00 00       	call   0x405020
404a3a:	59                   	pop    %ecx
404a3b:	59                   	pop    %ecx
404a3c:	8b f7                	mov    %edi,%esi
404a3e:	85 ff                	test   %edi,%edi
404a40:	75 e8                	jne    0x404a2a
404a42:	83 c3 04             	add    $0x4,%ebx
404a45:	81 fb 90 07 43 00    	cmp    $0x430790,%ebx
404a4b:	7c ce                	jl     0x404a1b
404a4d:	5f                   	pop    %edi
404a4e:	5e                   	pop    %esi
404a4f:	5b                   	pop    %ebx
404a50:	c3                   	ret
404a51:	68 11 4a 40 00       	push   $0x404a11
404a56:	e8 ce 17 00 00       	call   0x406229
404a5b:	f7 d8                	neg    %eax
404a5d:	1b c0                	sbb    %eax,%eax
404a5f:	59                   	pop    %ecx
404a60:	83 e0 18             	and    $0x18,%eax
404a63:	c3                   	ret
404a64:	8b ff                	mov    %edi,%edi
404a66:	55                   	push   %ebp
404a67:	8b ec                	mov    %esp,%ebp
404a69:	53                   	push   %ebx
404a6a:	56                   	push   %esi
404a6b:	57                   	push   %edi
404a6c:	8b 7d 0c             	mov    0xc(%ebp),%edi
404a6f:	85 ff                	test   %edi,%edi
404a71:	74 17                	je     0x404a8a
404a73:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
404a77:	74 11                	je     0x404a8a
404a79:	80 3f 00             	cmpb   $0x0,(%edi)
404a7c:	75 13                	jne    0x404a91
404a7e:	8b 45 08             	mov    0x8(%ebp),%eax
404a81:	85 c0                	test   %eax,%eax
404a83:	74 05                	je     0x404a8a
404a85:	33 c9                	xor    %ecx,%ecx
404a87:	66 89 08             	mov    %cx,(%eax)
404a8a:	33 c0                	xor    %eax,%eax
404a8c:	5f                   	pop    %edi
404a8d:	5e                   	pop    %esi
404a8e:	5b                   	pop    %ebx
404a8f:	5d                   	pop    %ebp
404a90:	c3                   	ret
404a91:	8b 45 18             	mov    0x18(%ebp),%eax
404a94:	85 c0                	test   %eax,%eax
404a96:	75 0f                	jne    0x404aa7
404a98:	e8 8e 14 00 00       	call   0x405f2b
404a9d:	8b 70 08             	mov    0x8(%eax),%esi
404aa0:	e8 60 14 00 00       	call   0x405f05
404aa5:	eb 05                	jmp    0x404aac
404aa7:	8b 30                	mov    (%eax),%esi
404aa9:	8b 40 04             	mov    0x4(%eax),%eax
404aac:	89 45 0c             	mov    %eax,0xc(%ebp)
404aaf:	85 f6                	test   %esi,%esi
404ab1:	75 13                	jne    0x404ac6
404ab3:	8b 45 08             	mov    0x8(%ebp),%eax
404ab6:	85 c0                	test   %eax,%eax
404ab8:	74 07                	je     0x404ac1
404aba:	66 0f b6 0f          	movzbw (%edi),%cx
404abe:	66 89 08             	mov    %cx,(%eax)
404ac1:	33 c0                	xor    %eax,%eax
404ac3:	40                   	inc    %eax
404ac4:	eb c6                	jmp    0x404a8c
404ac6:	ff 75 0c             	push   0xc(%ebp)
404ac9:	e8 a8 fe ff ff       	call   0x404976
404ace:	8b 75 14             	mov    0x14(%ebp),%esi
404ad1:	83 3e 00             	cmpl   $0x0,(%esi)
404ad4:	59                   	pop    %ecx
404ad5:	8b d8                	mov    %eax,%ebx
404ad7:	74 54                	je     0x404b2d
404ad9:	8a 07                	mov    (%edi),%al
404adb:	53                   	push   %ebx
404adc:	88 46 01             	mov    %al,0x1(%esi)
404adf:	e8 05 14 00 00       	call   0x405ee9
404ae4:	83 f8 01             	cmp    $0x1,%eax
404ae7:	59                   	pop    %ecx
404ae8:	7e 2d                	jle    0x404b17
404aea:	33 c0                	xor    %eax,%eax
404aec:	39 45 08             	cmp    %eax,0x8(%ebp)
404aef:	0f 95 c0             	setne  %al
404af2:	50                   	push   %eax
404af3:	ff 75 08             	push   0x8(%ebp)
404af6:	6a 02                	push   $0x2
404af8:	56                   	push   %esi
404af9:	6a 09                	push   $0x9
404afb:	ff 75 0c             	push   0xc(%ebp)
404afe:	ff 15 80 a0 41 00    	call   *0x41a080
404b04:	85 c0                	test   %eax,%eax
404b06:	74 0f                	je     0x404b17
404b08:	83 26 00             	andl   $0x0,(%esi)
404b0b:	53                   	push   %ebx
404b0c:	e8 d8 13 00 00       	call   0x405ee9
404b11:	59                   	pop    %ecx
404b12:	e9 75 ff ff ff       	jmp    0x404a8c
404b17:	83 26 00             	andl   $0x0,(%esi)
404b1a:	e8 b6 0f 00 00       	call   0x405ad5
404b1f:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
404b25:	83 c8 ff             	or     $0xffffffff,%eax
404b28:	e9 5f ff ff ff       	jmp    0x404a8c
404b2d:	85 db                	test   %ebx,%ebx
404b2f:	75 13                	jne    0x404b44
404b31:	e8 09 31 00 00       	call   0x407c3f
404b36:	0f b6 0f             	movzbl (%edi),%ecx
404b39:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
404b3d:	25 00 80 00 00       	and    $0x8000,%eax
404b42:	eb 0e                	jmp    0x404b52
404b44:	0f b6 07             	movzbl (%edi),%eax
404b47:	8b 4b 04             	mov    0x4(%ebx),%ecx
404b4a:	0f b6 44 01 1d       	movzbl 0x1d(%ecx,%eax,1),%eax
404b4f:	83 e0 04             	and    $0x4,%eax
404b52:	85 c0                	test   %eax,%eax
404b54:	74 5b                	je     0x404bb1
404b56:	53                   	push   %ebx
404b57:	e8 8d 13 00 00       	call   0x405ee9
404b5c:	59                   	pop    %ecx
404b5d:	39 45 10             	cmp    %eax,0x10(%ebp)
404b60:	73 0c                	jae    0x404b6e
404b62:	8a 07                	mov    (%edi),%al
404b64:	6a fe                	push   $0xfffffffe
404b66:	88 06                	mov    %al,(%esi)
404b68:	58                   	pop    %eax
404b69:	e9 1e ff ff ff       	jmp    0x404a8c
404b6e:	53                   	push   %ebx
404b6f:	e8 75 13 00 00       	call   0x405ee9
404b74:	83 f8 01             	cmp    $0x1,%eax
404b77:	59                   	pop    %ecx
404b78:	7e 28                	jle    0x404ba2
404b7a:	33 c0                	xor    %eax,%eax
404b7c:	39 45 08             	cmp    %eax,0x8(%ebp)
404b7f:	0f 95 c0             	setne  %al
404b82:	50                   	push   %eax
404b83:	ff 75 08             	push   0x8(%ebp)
404b86:	53                   	push   %ebx
404b87:	e8 5d 13 00 00       	call   0x405ee9
404b8c:	59                   	pop    %ecx
404b8d:	50                   	push   %eax
404b8e:	57                   	push   %edi
404b8f:	6a 09                	push   $0x9
404b91:	ff 75 0c             	push   0xc(%ebp)
404b94:	ff 15 80 a0 41 00    	call   *0x41a080
404b9a:	85 c0                	test   %eax,%eax
404b9c:	0f 85 69 ff ff ff    	jne    0x404b0b
404ba2:	80 7f 01 00          	cmpb   $0x0,0x1(%edi)
404ba6:	0f 85 5f ff ff ff    	jne    0x404b0b
404bac:	e9 66 ff ff ff       	jmp    0x404b17
404bb1:	33 c0                	xor    %eax,%eax
404bb3:	39 45 08             	cmp    %eax,0x8(%ebp)
404bb6:	0f 95 c0             	setne  %al
404bb9:	50                   	push   %eax
404bba:	ff 75 08             	push   0x8(%ebp)
404bbd:	6a 01                	push   $0x1
404bbf:	57                   	push   %edi
404bc0:	6a 09                	push   $0x9
404bc2:	ff 75 0c             	push   0xc(%ebp)
404bc5:	ff 15 80 a0 41 00    	call   *0x41a080
404bcb:	85 c0                	test   %eax,%eax
404bcd:	0f 85 ee fe ff ff    	jne    0x404ac1
404bd3:	e9 42 ff ff ff       	jmp    0x404b1a
404bd8:	8b ff                	mov    %edi,%edi
404bda:	55                   	push   %ebp
404bdb:	8b ec                	mov    %esp,%ebp
404bdd:	56                   	push   %esi
404bde:	e8 48 13 00 00       	call   0x405f2b
404be3:	8b 40 04             	mov    0x4(%eax),%eax
404be6:	8b 75 08             	mov    0x8(%ebp),%esi
404be9:	89 06                	mov    %eax,(%esi)
404beb:	e8 15 13 00 00       	call   0x405f05
404bf0:	6a 02                	push   $0x2
404bf2:	68 00 01 00 00       	push   $0x100
404bf7:	89 46 04             	mov    %eax,0x4(%esi)
404bfa:	e8 a6 2f 00 00       	call   0x407ba5
404bff:	59                   	pop    %ecx
404c00:	59                   	pop    %ecx
404c01:	89 46 08             	mov    %eax,0x8(%esi)
404c04:	85 c0                	test   %eax,%eax
404c06:	74 1f                	je     0x404c27
404c08:	68 00 02 00 00       	push   $0x200
404c0d:	e8 2d 30 00 00       	call   0x407c3f
404c12:	50                   	push   %eax
404c13:	ff 76 08             	push   0x8(%esi)
404c16:	e8 e5 34 00 00       	call   0x408100
404c1b:	83 c4 0c             	add    $0xc,%esp
404c1e:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
404c25:	eb 0c                	jmp    0x404c33
404c27:	e8 13 30 00 00       	call   0x407c3f
404c2c:	83 66 0c 00          	andl   $0x0,0xc(%esi)
404c30:	89 46 08             	mov    %eax,0x8(%esi)
404c33:	8b c6                	mov    %esi,%eax
404c35:	5e                   	pop    %esi
404c36:	5d                   	pop    %ebp
404c37:	c3                   	ret
404c38:	8b ff                	mov    %edi,%edi
404c3a:	55                   	push   %ebp
404c3b:	8b ec                	mov    %esp,%ebp
404c3d:	8b 45 0c             	mov    0xc(%ebp),%eax
404c40:	ff 30                	push   (%eax)
404c42:	ff 70 04             	push   0x4(%eax)
404c45:	8d 45 0c             	lea    0xc(%ebp),%eax
404c48:	50                   	push   %eax
404c49:	6a 01                	push   $0x1
404c4b:	8d 45 08             	lea    0x8(%ebp),%eax
404c4e:	50                   	push   %eax
404c4f:	6a 01                	push   $0x1
404c51:	6a 00                	push   $0x0
404c53:	e8 0d 38 00 00       	call   0x408465
404c58:	0f bf 4d 0c          	movswl 0xc(%ebp),%ecx