4128b4:	c7 44 24 24 01 00 00 	movl   $0x1,0x24(%esp)
4128bb:	00
4128bc:	e8 4f 02 00 00       	call   0x412b10
4128c1:	8b f0                	mov    %eax,%esi
4128c3:	83 c4 14             	add    $0x14,%esp
4128c6:	85 f6                	test   %esi,%esi
4128c8:	74 16                	je     0x4128e0
4128ca:	56                   	push   %esi
4128cb:	e8 f0 9b ff ff       	call   0x40c4c0
4128d0:	8b 8c 24 a8 00 00 00 	mov    0xa8(%esp),%ecx
4128d7:	83 c4 04             	add    $0x4,%esp
4128da:	85 c0                	test   %eax,%eax
4128dc:	89 01                	mov    %eax,(%ecx)
4128de:	75 23                	jne    0x412903
4128e0:	8b 44 24 10          	mov    0x10(%esp),%eax
4128e4:	85 c0                	test   %eax,%eax
4128e6:	0f 84 e2 00 00 00    	je     0x4129ce
4128ec:	57                   	push   %edi
4128ed:	e8 9e 9c ff ff       	call   0x40c590
4128f2:	83 c4 04             	add    $0x4,%esp
4128f5:	83 c8 ff             	or     $0xffffffff,%eax
4128f8:	5f                   	pop    %edi
4128f9:	5e                   	pop    %esi
4128fa:	5d                   	pop    %ebp
4128fb:	5b                   	pop    %ebx
4128fc:	81 c4 84 00 00 00    	add    $0x84,%esp
412902:	c3                   	ret
412903:	56                   	push   %esi
412904:	57                   	push   %edi
412905:	50                   	push   %eax
412906:	e8 25 e2 ff ff       	call   0x410b30
41290b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
41290f:	83 c4 0c             	add    $0xc,%esp
412912:	85 c0                	test   %eax,%eax
412914:	0f 84 a7 00 00 00    	je     0x4129c1
41291a:	57                   	push   %edi
41291b:	e8 70 9c ff ff       	call   0x40c590
412920:	83 c4 04             	add    $0x4,%esp
412923:	33 c0                	xor    %eax,%eax
412925:	5f                   	pop    %edi
412926:	5e                   	pop    %esi
412927:	5d                   	pop    %ebp
412928:	5b                   	pop    %ebx
412929:	81 c4 84 00 00 00    	add    $0x84,%esp
41292f:	c3                   	ret
412930:	85 c0                	test   %eax,%eax
412932:	0f 85 96 00 00 00    	jne    0x4129ce
412938:	8b 94 24 a0 00 00 00 	mov    0xa0(%esp),%edx
41293f:	50                   	push   %eax
412940:	8b 84 24 a0 00 00 00 	mov    0xa0(%esp),%eax
412947:	6a 04                	push   $0x4
412949:	68 c0 74 43 00       	push   $0x4374c0
41294e:	52                   	push   %edx
41294f:	50                   	push   %eax
412950:	e8 8b 00 00 00       	call   0x4129e0
412955:	83 c4 14             	add    $0x14,%esp
412958:	85 c0                	test   %eax,%eax
41295a:	74 72                	je     0x4129ce
41295c:	8b bc 24 a4 00 00 00 	mov    0xa4(%esp),%edi
412963:	be c0 74 43 00       	mov    $0x4374c0,%esi
412968:	c6 07 00             	movb   $0x0,(%edi)
41296b:	a1 54 1d 43 00       	mov    0x431d54,%eax
412970:	8a 1e                	mov    (%esi),%bl
412972:	3b c5                	cmp    %ebp,%eax
412974:	88 5c 24 10          	mov    %bl,0x10(%esp)
412978:	7e 17                	jle    0x412991
41297a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
41297e:	6a 04                	push   $0x4
412980:	81 e1 ff 00 00 00    	and    $0xff,%ecx
412986:	51                   	push   %ecx
412987:	e8 a4 bc ff ff       	call   0x40e630
41298c:	83 c4 08             	add    $0x8,%esp
41298f:	eb 15                	jmp    0x4129a6
412991:	8b 54 24 10          	mov    0x10(%esp),%edx
412995:	a1 48 1b 43 00       	mov    0x431b48,%eax
41299a:	81 e2 ff 00 00 00    	and    $0xff,%edx
4129a0:	8a 04 50             	mov    (%eax,%edx,2),%al
4129a3:	83 e0 04             	and    $0x4,%eax
4129a6:	85 c0                	test   %eax,%eax
4129a8:	74 17                	je     0x4129c1
4129aa:	8a 07                	mov    (%edi),%al
4129ac:	b1 0a                	mov    $0xa,%cl
4129ae:	f6 e9                	imul   %cl
4129b0:	02 c3                	add    %bl,%al
4129b2:	83 c6 02             	add    $0x2,%esi
4129b5:	2c 30                	sub    $0x30,%al
4129b7:	81 fe c8 74 43 00    	cmp    $0x4374c8,%esi
4129bd:	88 07                	mov    %al,(%edi)
4129bf:	7c aa                	jl     0x41296b
4129c1:	33 c0                	xor    %eax,%eax
4129c3:	5f                   	pop    %edi
4129c4:	5e                   	pop    %esi
4129c5:	5d                   	pop    %ebp
4129c6:	5b                   	pop    %ebx
4129c7:	81 c4 84 00 00 00    	add    $0x84,%esp
4129cd:	c3                   	ret
4129ce:	5f                   	pop    %edi
4129cf:	5e                   	pop    %esi
4129d0:	5d                   	pop    %ebp
4129d1:	83 c8 ff             	or     $0xffffffff,%eax
4129d4:	5b                   	pop    %ebx
4129d5:	81 c4 84 00 00 00    	add    $0x84,%esp
4129db:	c3                   	ret
4129dc:	90                   	nop
4129dd:	90                   	nop
4129de:	90                   	nop
4129df:	90                   	nop
4129e0:	a1 cc 74 43 00       	mov    0x4374cc,%eax
4129e5:	53                   	push   %ebx
4129e6:	55                   	push   %ebp
4129e7:	56                   	push   %esi
4129e8:	8b 35 48 96 43 00    	mov    0x439648,%esi
4129ee:	57                   	push   %edi
4129ef:	85 c0                	test   %eax,%eax
4129f1:	75 35                	jne    0x412a28
4129f3:	6a 00                	push   $0x0
4129f5:	6a 00                	push   $0x0
4129f7:	6a 01                	push   $0x1
4129f9:	6a 00                	push   $0x0
4129fb:	ff d6                	call   *%esi
4129fd:	85 c0                	test   %eax,%eax
4129ff:	74 07                	je     0x412a08
412a01:	b8 01 00 00 00       	mov    $0x1,%eax
412a06:	eb 1b                	jmp    0x412a23
412a08:	6a 00                	push   $0x0
412a0a:	6a 00                	push   $0x0
412a0c:	6a 01                	push   $0x1
412a0e:	6a 00                	push   $0x0
412a10:	ff 15 44 96 43 00    	call   *0x439644
412a16:	85 c0                	test   %eax,%eax
412a18:	0f 84 db 00 00 00    	je     0x412af9
412a1e:	b8 02 00 00 00       	mov    $0x2,%eax
412a23:	a3 cc 74 43 00       	mov    %eax,0x4374cc
412a28:	83 f8 01             	cmp    $0x1,%eax
412a2b:	75 1b                	jne    0x412a48
412a2d:	8b 44 24 20          	mov    0x20(%esp),%eax
412a31:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
412a35:	8b 54 24 18          	mov    0x18(%esp),%edx
412a39:	50                   	push   %eax
412a3a:	8b 44 24 18          	mov    0x18(%esp),%eax
412a3e:	51                   	push   %ecx
412a3f:	52                   	push   %edx
412a40:	50                   	push   %eax
412a41:	ff d6                	call   *%esi
412a43:	5f                   	pop    %edi
412a44:	5e                   	pop    %esi
412a45:	5d                   	pop    %ebp
412a46:	5b                   	pop    %ebx
412a47:	c3                   	ret
412a48:	83 f8 02             	cmp    $0x2,%eax
412a4b:	0f 85 ba 00 00 00    	jne    0x412b0b
412a51:	8b 44 24 24          	mov    0x24(%esp),%eax
412a55:	85 c0                	test   %eax,%eax
412a57:	75 0a                	jne    0x412a63
412a59:	8b 0d 80 73 43 00    	mov    0x437380,%ecx
412a5f:	89 4c 24 24          	mov    %ecx,0x24(%esp)
412a63:	8b 5c 24 18          	mov    0x18(%esp),%ebx
412a67:	8b 6c 24 14          	mov    0x14(%esp),%ebp
412a6b:	6a 00                	push   $0x0
412a6d:	6a 00                	push   $0x0
412a6f:	53                   	push   %ebx
412a70:	55                   	push   %ebp
412a71:	ff 15 44 96 43 00    	call   *0x439644
412a77:	8b f0                	mov    %eax,%esi
412a79:	85 f6                	test   %esi,%esi
412a7b:	75 05                	jne    0x412a82
412a7d:	5f                   	pop    %edi
412a7e:	5e                   	pop    %esi
412a7f:	5d                   	pop    %ebp
412a80:	5b                   	pop    %ebx
412a81:	c3                   	ret
412a82:	56                   	push   %esi
412a83:	e8 38 9a ff ff       	call   0x40c4c0
412a88:	8b f8                	mov    %eax,%edi
412a8a:	83 c4 04             	add    $0x4,%esp
412a8d:	85 ff                	test   %edi,%edi
412a8f:	75 05                	jne    0x412a96
412a91:	5f                   	pop    %edi
412a92:	5e                   	pop    %esi
412a93:	5d                   	pop    %ebp
412a94:	5b                   	pop    %ebx
412a95:	c3                   	ret
412a96:	56                   	push   %esi
412a97:	57                   	push   %edi
412a98:	53                   	push   %ebx
412a99:	55                   	push   %ebp
412a9a:	ff 15 44 96 43 00    	call   *0x439644
412aa0:	85 c0                	test   %eax,%eax
412aa2:	74 4c                	je     0x412af0
412aa4:	8b 44 24 20          	mov    0x20(%esp),%eax
412aa8:	85 c0                	test   %eax,%eax
412aaa:	75 28                	jne    0x412ad4
412aac:	8b 54 24 24          	mov    0x24(%esp),%edx
412ab0:	50                   	push   %eax
412ab1:	50                   	push   %eax
412ab2:	6a ff                	push   $0xffffffff
412ab4:	57                   	push   %edi
412ab5:	6a 01                	push   $0x1
412ab7:	52                   	push   %edx
412ab8:	ff 15 f4 96 43 00    	call   *0x4396f4
412abe:	8b f0                	mov    %eax,%esi
412ac0:	85 f6                	test   %esi,%esi
412ac2:	74 2c                	je     0x412af0
412ac4:	57                   	push   %edi
412ac5:	e8 c6 9a ff ff       	call   0x40c590
412aca:	83 c4 04             	add    $0x4,%esp
412acd:	8b c6                	mov    %esi,%eax
412acf:	5f                   	pop    %edi
412ad0:	5e                   	pop    %esi
412ad1:	5d                   	pop    %ebp
412ad2:	5b                   	pop    %ebx
412ad3:	c3                   	ret
412ad4:	8b 4c 24 24          	mov    0x24(%esp),%ecx
412ad8:	50                   	push   %eax
412ad9:	8b 44 24 20          	mov    0x20(%esp),%eax
412add:	50                   	push   %eax
412ade:	6a ff                	push   $0xffffffff
412ae0:	57                   	push   %edi
412ae1:	6a 01                	push   $0x1
412ae3:	51                   	push   %ecx
412ae4:	ff 15 f4 96 43 00    	call   *0x4396f4
412aea:	8b f0                	mov    %eax,%esi
412aec:	85 f6                	test   %esi,%esi
412aee:	75 10                	jne    0x412b00
412af0:	57                   	push   %edi
412af1:	e8 9a 9a ff ff       	call   0x40c590
412af6:	83 c4 04             	add    $0x4,%esp
412af9:	33 c0                	xor    %eax,%eax
412afb:	5f                   	pop    %edi
412afc:	5e                   	pop    %esi
412afd:	5d                   	pop    %ebp
412afe:	5b                   	pop    %ebx
412aff:	c3                   	ret
412b00:	57                   	push   %edi
412b01:	e8 8a 9a ff ff       	call   0x40c590
412b06:	83 c4 04             	add    $0x4,%esp
412b09:	8b c6                	mov    %esi,%eax
412b0b:	5f                   	pop    %edi
412b0c:	5e                   	pop    %esi
412b0d:	5d                   	pop    %ebp
412b0e:	5b                   	pop    %ebx
412b0f:	c3                   	ret
412b10:	a1 d0 74 43 00       	mov    0x4374d0,%eax
412b15:	53                   	push   %ebx
412b16:	55                   	push   %ebp
412b17:	56                   	push   %esi
412b18:	8b 35 44 96 43 00    	mov    0x439644,%esi
412b1e:	57                   	push   %edi
412b1f:	85 c0                	test   %eax,%eax
412b21:	75 35                	jne    0x412b58
412b23:	6a 00                	push   $0x0
412b25:	6a 00                	push   $0x0
412b27:	6a 01                	push   $0x1
412b29:	6a 00                	push   $0x0
412b2b:	ff d6                	call   *%esi
412b2d:	85 c0                	test   %eax,%eax
412b2f:	74 07                	je     0x412b38
412b31:	b8 02 00 00 00       	mov    $0x2,%eax
412b36:	eb 1b                	jmp    0x412b53
412b38:	6a 00                	push   $0x0
412b3a:	6a 00                	push   $0x0
412b3c:	6a 01                	push   $0x1
412b3e:	6a 00                	push   $0x0
412b40:	ff 15 48 96 43 00    	call   *0x439648
412b46:	85 c0                	test   %eax,%eax
412b48:	0f 84 ea 00 00 00    	je     0x412c38
412b4e:	b8 01 00 00 00       	mov    $0x1,%eax
412b53:	a3 d0 74 43 00       	mov    %eax,0x4374d0
412b58:	83 f8 02             	cmp    $0x2,%eax
412b5b:	75 1b                	jne    0x412b78
412b5d:	8b 44 24 20          	mov    0x20(%esp),%eax
412b61:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
412b65:	8b 54 24 18          	mov    0x18(%esp),%edx
412b69:	50                   	push   %eax
412b6a:	8b 44 24 18          	mov    0x18(%esp),%eax
412b6e:	51                   	push   %ecx
412b6f:	52                   	push   %edx
412b70:	50                   	push   %eax
412b71:	ff d6                	call   *%esi
412b73:	5f                   	pop    %edi
412b74:	5e                   	pop    %esi
412b75:	5d                   	pop    %ebp
412b76:	5b                   	pop    %ebx
412b77:	c3                   	ret
412b78:	83 f8 01             	cmp    $0x1,%eax
412b7b:	0f 85 c9 00 00 00    	jne    0x412c4a
412b81:	8b 44 24 24          	mov    0x24(%esp),%eax
412b85:	85 c0                	test   %eax,%eax
412b87:	75 0a                	jne    0x412b93
412b89:	8b 0d 80 73 43 00    	mov    0x437380,%ecx
412b8f:	89 4c 24 24          	mov    %ecx,0x24(%esp)
412b93:	8b 5c 24 18          	mov    0x18(%esp),%ebx
412b97:	8b 6c 24 14          	mov    0x14(%esp),%ebp
412b9b:	6a 00                	push   $0x0
412b9d:	6a 00                	push   $0x0
412b9f:	53                   	push   %ebx
412ba0:	55                   	push   %ebp
412ba1:	ff 15 48 96 43 00    	call   *0x439648
412ba7:	8b f8                	mov    %eax,%edi
412ba9:	85 ff                	test   %edi,%edi
412bab:	75 05                	jne    0x412bb2
412bad:	5f                   	pop    %edi
412bae:	5e                   	pop    %esi
412baf:	5d                   	pop    %ebp
412bb0:	5b                   	pop    %ebx
412bb1:	c3                   	ret
412bb2:	8d 14 3f             	lea    (%edi,%edi,1),%edx
412bb5:	52                   	push   %edx
412bb6:	e8 05 99 ff ff       	call   0x40c4c0
412bbb:	8b f0                	mov    %eax,%esi
412bbd:	83 c4 04             	add    $0x4,%esp
412bc0:	85 f6                	test   %esi,%esi
412bc2:	75 05                	jne    0x412bc9
412bc4:	5f                   	pop    %edi
412bc5:	5e                   	pop    %esi
412bc6:	5d                   	pop    %ebp
412bc7:	5b                   	pop    %ebx
412bc8:	c3                   	ret
412bc9:	57                   	push   %edi
412bca:	56                   	push   %esi
412bcb:	53                   	push   %ebx
412bcc:	55                   	push   %ebp
412bcd:	ff 15 48 96 43 00    	call   *0x439648
412bd3:	85 c0                	test   %eax,%eax
412bd5:	74 58                	je     0x412c2f
412bd7:	8b 44 24 20          	mov    0x20(%esp),%eax
412bdb:	6a 00                	push   $0x0
412bdd:	85 c0                	test   %eax,%eax
412bdf:	6a 00                	push   $0x0
412be1:	75 2d                	jne    0x412c10
412be3:	8b 44 24 2c          	mov    0x2c(%esp),%eax
412be7:	6a 00                	push   $0x0
412be9:	6a 00                	push   $0x0
412beb:	6a ff                	push   $0xffffffff
412bed:	56                   	push   %esi
412bee:	68 20 02 00 00       	push   $0x220
412bf3:	50                   	push   %eax
412bf4:	ff 15 f8 96 43 00    	call   *0x4396f8
412bfa:	8b f8                	mov    %eax,%edi
412bfc:	85 ff                	test   %edi,%edi
412bfe:	74 2f                	je     0x412c2f
412c00:	56                   	push   %esi
412c01:	e8 8a 99 ff ff       	call   0x40c590
412c06:	83 c4 04             	add    $0x4,%esp
412c09:	8b c7                	mov    %edi,%eax
412c0b:	5f                   	pop    %edi
412c0c:	5e                   	pop    %esi
412c0d:	5d                   	pop    %ebp
412c0e:	5b                   	pop    %ebx
412c0f:	c3                   	ret