59eaf4:	8b 7c 24 0c          	mov    0xc(%esp),%edi
59eaf8:	85 ff                	test   %edi,%edi
59eafa:	74 68                	je     0x59eb64
59eafc:	53                   	push   %ebx
59eafd:	56                   	push   %esi
59eafe:	57                   	push   %edi
59eaff:	33 f6                	xor    %esi,%esi
59eb01:	e8 0a fb f0 ff       	call   0x4ae610
59eb06:	83 c4 04             	add    $0x4,%esp
59eb09:	85 c0                	test   %eax,%eax
59eb0b:	7e 29                	jle    0x59eb36
59eb0d:	0f 1f 00             	nopl   (%eax)
59eb10:	56                   	push   %esi
59eb11:	57                   	push   %edi
59eb12:	e8 19 fc f0 ff       	call   0x4ae730
59eb17:	8b d8                	mov    %eax,%ebx
59eb19:	55                   	push   %ebp
59eb1a:	ff 33                	push   (%ebx)
59eb1c:	e8 df 36 f1 ff       	call   0x4b2200
59eb21:	83 c4 10             	add    $0x10,%esp
59eb24:	85 c0                	test   %eax,%eax
59eb26:	74 15                	je     0x59eb3d
59eb28:	57                   	push   %edi
59eb29:	46                   	inc    %esi
59eb2a:	e8 e1 fa f0 ff       	call   0x4ae610
59eb2f:	83 c4 04             	add    $0x4,%esp
59eb32:	3b f0                	cmp    %eax,%esi
59eb34:	7c da                	jl     0x59eb10
59eb36:	5e                   	pop    %esi
59eb37:	5b                   	pop    %ebx
59eb38:	5f                   	pop    %edi
59eb39:	33 c0                	xor    %eax,%eax
59eb3b:	5d                   	pop    %ebp
59eb3c:	c3                   	ret
59eb3d:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
59eb41:	75 f3                	jne    0x59eb36
59eb43:	ff 73 08             	push   0x8(%ebx)
59eb46:	e8 c5 fa f0 ff       	call   0x4ae610
59eb4b:	83 c4 04             	add    $0x4,%esp
59eb4e:	85 c0                	test   %eax,%eax
59eb50:	74 e4                	je     0x59eb36
59eb52:	6a 00                	push   $0x0
59eb54:	ff 73 08             	push   0x8(%ebx)
59eb57:	e8 d4 fb f0 ff       	call   0x4ae730
59eb5c:	83 c4 08             	add    $0x8,%esp
59eb5f:	5e                   	pop    %esi
59eb60:	5b                   	pop    %ebx
59eb61:	5f                   	pop    %edi
59eb62:	5d                   	pop    %ebp
59eb63:	c3                   	ret
59eb64:	5f                   	pop    %edi
59eb65:	33 c0                	xor    %eax,%eax
59eb67:	5d                   	pop    %ebp
59eb68:	c3                   	ret
59eb69:	cc                   	int3
59eb6a:	cc                   	int3
59eb6b:	cc                   	int3
59eb6c:	cc                   	int3
59eb6d:	cc                   	int3
59eb6e:	cc                   	int3
59eb6f:	cc                   	int3
59eb70:	53                   	push   %ebx
59eb71:	55                   	push   %ebp
59eb72:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
59eb76:	56                   	push   %esi
59eb77:	33 f6                	xor    %esi,%esi
59eb79:	ff 75 10             	push   0x10(%ebp)
59eb7c:	e8 5f ec fe ff       	call   0x58d7e0
59eb81:	8b d8                	mov    %eax,%ebx
59eb83:	83 c4 04             	add    $0x4,%esp
59eb86:	85 db                	test   %ebx,%ebx
59eb88:	75 04                	jne    0x59eb8e
59eb8a:	5e                   	pop    %esi
59eb8b:	5d                   	pop    %ebp
59eb8c:	5b                   	pop    %ebx
59eb8d:	c3                   	ret
59eb8e:	57                   	push   %edi
59eb8f:	6a 00                	push   $0x0
59eb91:	53                   	push   %ebx
59eb92:	e8 e9 8a f2 ff       	call   0x4c7680
59eb97:	8b f8                	mov    %eax,%edi
59eb99:	83 c4 08             	add    $0x8,%esp
59eb9c:	85 ff                	test   %edi,%edi
59eb9e:	75 05                	jne    0x59eba5
59eba0:	5f                   	pop    %edi
59eba1:	5e                   	pop    %esi
59eba2:	5d                   	pop    %ebp
59eba3:	5b                   	pop    %ebx
59eba4:	c3                   	ret
59eba5:	57                   	push   %edi
59eba6:	e8 15 f5 fc ff       	call   0x56e0c0
59ebab:	83 c4 04             	add    $0x4,%esp
59ebae:	85 c0                	test   %eax,%eax
59ebb0:	7e 37                	jle    0x59ebe9
59ebb2:	55                   	push   %ebp
59ebb3:	6a 00                	push   $0x0
59ebb5:	6a 03                	push   $0x3
59ebb7:	68 00 01 00 00       	push   $0x100
59ebbc:	6a ff                	push   $0xffffffff
59ebbe:	57                   	push   %edi
59ebbf:	e8 6c 88 f2 ff       	call   0x4c7430
59ebc4:	83 c4 18             	add    $0x18,%esp
59ebc7:	85 c0                	test   %eax,%eax
59ebc9:	7f 43                	jg     0x59ec0e
59ebcb:	68 a0 00 00 00       	push   $0xa0
59ebd0:	68 b4 a9 6c 00       	push   $0x6ca9b4
59ebd5:	68 98 00 00 00       	push   $0x98
59ebda:	68 84 00 00 00       	push   $0x84
59ebdf:	6a 21                	push   $0x21
59ebe1:	e8 ba 28 f0 ff       	call   0x4a14a0
59ebe6:	83 c4 14             	add    $0x14,%esp
59ebe9:	33 ed                	xor    %ebp,%ebp
59ebeb:	53                   	push   %ebx
59ebec:	e8 bf 6a f3 ff       	call   0x4d56b0
59ebf1:	57                   	push   %edi
59ebf2:	e8 29 8a f2 ff       	call   0x4c7620
59ebf7:	83 c4 08             	add    $0x8,%esp
59ebfa:	85 f6                	test   %esi,%esi
59ebfc:	74 09                	je     0x59ec07
59ebfe:	56                   	push   %esi
59ebff:	e8 2c 15 f0 ff       	call   0x4a0130
59ec04:	83 c4 04             	add    $0x4,%esp
59ec07:	5f                   	pop    %edi
59ec08:	5e                   	pop    %esi
59ec09:	8b c5                	mov    %ebp,%eax
59ec0b:	5d                   	pop    %ebp
59ec0c:	5b                   	pop    %ebx
59ec0d:	c3                   	ret
59ec0e:	ff 74 24 1c          	push   0x1c(%esp)
59ec12:	8d 44 24 18          	lea    0x18(%esp),%eax
59ec16:	ff 74 24 1c          	push   0x1c(%esp)
59ec1a:	50                   	push   %eax
59ec1b:	6a 00                	push   $0x0
59ec1d:	57                   	push   %edi
59ec1e:	e8 9d f3 fc ff       	call   0x56dfc0
59ec23:	83 c4 14             	add    $0x14,%esp
59ec26:	85 c0                	test   %eax,%eax
59ec28:	7e bf                	jle    0x59ebe9
59ec2a:	68 a7 00 00 00       	push   $0xa7
59ec2f:	68 b4 a9 6c 00       	push   $0x6ca9b4
59ec34:	ff 74 24 1c          	push   0x1c(%esp)
59ec38:	e8 73 15 f0 ff       	call   0x4a01b0
59ec3d:	8b f0                	mov    %eax,%esi
59ec3f:	83 c4 0c             	add    $0xc,%esp
59ec42:	85 f6                	test   %esi,%esi
59ec44:	75 0e                	jne    0x59ec54
59ec46:	68 aa 00 00 00       	push   $0xaa
59ec4b:	68 b4 a9 6c 00       	push   $0x6ca9b4
59ec50:	6a 41                	push   $0x41
59ec52:	eb 86                	jmp    0x59ebda
59ec54:	ff 74 24 1c          	push   0x1c(%esp)
59ec58:	8d 44 24 18          	lea    0x18(%esp),%eax
59ec5c:	ff 74 24 1c          	push   0x1c(%esp)
59ec60:	50                   	push   %eax
59ec61:	56                   	push   %esi
59ec62:	57                   	push   %edi
59ec63:	e8 58 f3 fc ff       	call   0x56dfc0
59ec68:	83 c4 14             	add    $0x14,%esp
59ec6b:	85 c0                	test   %eax,%eax
59ec6d:	0f 8e 76 ff ff ff    	jle    0x59ebe9
59ec73:	ff 74 24 14          	push   0x14(%esp)
59ec77:	56                   	push   %esi
59ec78:	ff 75 0c             	push   0xc(%ebp)
59ec7b:	e8 50 2e f1 ff       	call   0x4b1ad0
59ec80:	83 c4 0c             	add    $0xc,%esp
59ec83:	33 f6                	xor    %esi,%esi
59ec85:	8d 6e 01             	lea    0x1(%esi),%ebp
59ec88:	e9 5e ff ff ff       	jmp    0x59ebeb
59ec8d:	cc                   	int3
59ec8e:	cc                   	int3
59ec8f:	cc                   	int3
59ec90:	b8 f8 a9 6c 00       	mov    $0x6ca9f8,%eax
59ec95:	c3                   	ret
59ec96:	cc                   	int3
59ec97:	cc                   	int3
59ec98:	cc                   	int3
59ec99:	cc                   	int3
59ec9a:	cc                   	int3
59ec9b:	cc                   	int3
59ec9c:	cc                   	int3
59ec9d:	cc                   	int3
59ec9e:	cc                   	int3
59ec9f:	cc                   	int3
59eca0:	68 84 aa 6c 00       	push   $0x6caa84
59eca5:	ff 74 24 08          	push   0x8(%esp)
59eca9:	e8 e2 31 f1 ff       	call   0x4b1e90
59ecae:	83 c4 08             	add    $0x8,%esp
59ecb1:	c3                   	ret
59ecb2:	cc                   	int3
59ecb3:	cc                   	int3
59ecb4:	cc                   	int3
59ecb5:	cc                   	int3
59ecb6:	cc                   	int3
59ecb7:	cc                   	int3
59ecb8:	cc                   	int3
59ecb9:	cc                   	int3
59ecba:	cc                   	int3
59ecbb:	cc                   	int3
59ecbc:	cc                   	int3
59ecbd:	cc                   	int3
59ecbe:	cc                   	int3
59ecbf:	cc                   	int3
59ecc0:	68 68 ab 6c 00       	push   $0x6cab68
59ecc5:	ff 74 24 08          	push   0x8(%esp)
59ecc9:	e8 c2 31 f1 ff       	call   0x4b1e90
59ecce:	83 c4 08             	add    $0x8,%esp
59ecd1:	c3                   	ret
59ecd2:	cc                   	int3
59ecd3:	cc                   	int3
59ecd4:	cc                   	int3
59ecd5:	cc                   	int3
59ecd6:	cc                   	int3
59ecd7:	cc                   	int3
59ecd8:	cc                   	int3
59ecd9:	cc                   	int3
59ecda:	cc                   	int3
59ecdb:	cc                   	int3
59ecdc:	cc                   	int3
59ecdd:	cc                   	int3
59ecde:	cc                   	int3
59ecdf:	cc                   	int3
59ece0:	b8 68 ab 6c 00       	mov    $0x6cab68,%eax
59ece5:	c3                   	ret
59ece6:	cc                   	int3
59ece7:	cc                   	int3
59ece8:	cc                   	int3
59ece9:	cc                   	int3
59ecea:	cc                   	int3
59eceb:	cc                   	int3
59ecec:	cc                   	int3
59eced:	cc                   	int3
59ecee:	cc                   	int3
59ecef:	cc                   	int3
59ecf0:	68 68 ab 6c 00       	push   $0x6cab68
59ecf5:	e8 56 ce f2 ff       	call   0x4cbb50
59ecfa:	83 c4 04             	add    $0x4,%esp
59ecfd:	c3                   	ret
59ecfe:	cc                   	int3
59ecff:	cc                   	int3
59ed00:	56                   	push   %esi
59ed01:	8b 74 24 08          	mov    0x8(%esp),%esi
59ed05:	85 f6                	test   %esi,%esi
59ed07:	74 2d                	je     0x59ed36
59ed09:	8b 06                	mov    (%esi),%eax
59ed0b:	85 c0                	test   %eax,%eax
59ed0d:	74 09                	je     0x59ed18
59ed0f:	50                   	push   %eax
59ed10:	e8 eb c9 00 00       	call   0x5ab700
59ed15:	83 c4 04             	add    $0x4,%esp
59ed18:	8b 46 04             	mov    0x4(%esi),%eax
59ed1b:	85 c0                	test   %eax,%eax
59ed1d:	74 0e                	je     0x59ed2d
59ed1f:	68 00 b7 5a 00       	push   $0x5ab700
59ed24:	50                   	push   %eax
59ed25:	e8 16 f9 f0 ff       	call   0x4ae640
59ed2a:	83 c4 08             	add    $0x8,%esp
59ed2d:	56                   	push   %esi
59ed2e:	e8 fd 13 f0 ff       	call   0x4a0130
59ed33:	83 c4 04             	add    $0x4,%esp
59ed36:	5e                   	pop    %esi
59ed37:	c3                   	ret
59ed38:	cc                   	int3
59ed39:	cc                   	int3
59ed3a:	cc                   	int3
59ed3b:	cc                   	int3
59ed3c:	cc                   	int3
59ed3d:	cc                   	int3
59ed3e:	cc                   	int3
59ed3f:	cc                   	int3
59ed40:	b8 20 00 00 00       	mov    $0x20,%eax
59ed45:	e8 a6 27 04 00       	call   0x5e14f0
59ed4a:	56                   	push   %esi
59ed4b:	57                   	push   %edi
59ed4c:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
59ed50:	83 ce ff             	or     $0xffffffff,%esi
59ed53:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
59ed5a:	00
59ed5b:	85 ff                	test   %edi,%edi
59ed5d:	75 23                	jne    0x59ed82
59ed5f:	68 92 00 00 00       	push   $0x92
59ed64:	68 94 ab 6c 00       	push   $0x6cab94
59ed69:	6a 43                	push   $0x43
59ed6b:	68 c5 00 00 00       	push   $0xc5
59ed70:	6a 0d                	push   $0xd
59ed72:	e8 29 27 f0 ff       	call   0x4a14a0
59ed77:	83 c4 14             	add    $0x14,%esp
59ed7a:	0b c6                	or     %esi,%eax
59ed7c:	5f                   	pop    %edi
59ed7d:	5e                   	pop    %esi
59ed7e:	83 c4 20             	add    $0x20,%esp
59ed81:	c3                   	ret
59ed82:	53                   	push   %ebx
59ed83:	8b 5c 24 38          	mov    0x38(%esp),%ebx
59ed87:	83 7b 04 03          	cmpl   $0x3,0x4(%ebx)
59ed8b:	75 2e                	jne    0x59edbb
59ed8d:	f6 43 0c 07          	testb  $0x7,0xc(%ebx)
59ed91:	74 28                	je     0x59edbb
59ed93:	68 97 00 00 00       	push   $0x97
59ed98:	68 94 ab 6c 00       	push   $0x6cab94
59ed9d:	68 dc 00 00 00       	push   $0xdc
59eda2:	68 c5 00 00 00       	push   $0xc5
59eda7:	6a 0d                	push   $0xd
59eda9:	e8 f2 26 f0 ff       	call   0x4a14a0
59edae:	83 c4 14             	add    $0x14,%esp
59edb1:	83 c8 ff             	or     $0xffffffff,%eax
59edb4:	5b                   	pop    %ebx
59edb5:	5f                   	pop    %edi
59edb6:	5e                   	pop    %esi
59edb7:	83 c4 20             	add    $0x20,%esp
59edba:	c3                   	ret
59edbb:	8d 44 24 14          	lea    0x14(%esp),%eax
59edbf:	55                   	push   %ebp
59edc0:	50                   	push   %eax
59edc1:	e8 fa 28 f1 ff       	call   0x4b16c0
59edc6:	8b 6c 24 3c          	mov    0x3c(%esp),%ebp
59edca:	8d 44 24 18          	lea    0x18(%esp),%eax
59edce:	83 c4 04             	add    $0x4,%esp
59edd1:	50                   	push   %eax
59edd2:	8d 44 24 48          	lea    0x48(%esp),%eax
59edd6:	50                   	push   %eax
59edd7:	ff 75 00             	push   0x0(%ebp)
59edda:	e8 01 8c f0 ff       	call   0x4a79e0
59eddf:	83 c4 04             	add    $0x4,%esp
59ede2:	50                   	push   %eax
59ede3:	e8 e8 ed fd ff       	call   0x57dbd0
59ede8:	83 c4 0c             	add    $0xc,%esp
59edeb:	85 c0                	test   %eax,%eax
59eded:	75 23                	jne    0x59ee12
59edef:	68 9f 00 00 00       	push   $0x9f
59edf4:	68 94 ab 6c 00       	push   $0x6cab94
59edf9:	68 c7 00 00 00       	push   $0xc7
59edfe:	68 c5 00 00 00       	push   $0xc5
59ee03:	6a 0d                	push   $0xd
59ee05:	e8 96 26 f0 ff       	call   0x4a14a0
59ee0a:	83 c4 14             	add    $0x14,%esp
59ee0d:	e9 7d 01 00 00       	jmp    0x59ef8f
59ee12:	8b 44 24 44          	mov    0x44(%esp),%eax
59ee16:	85 c0                	test   %eax,%eax
59ee18:	75 7e                	jne    0x59ee98
59ee1a:	8b 47 0c             	mov    0xc(%edi),%eax
59ee1d:	85 c0                	test   %eax,%eax
59ee1f:	74 6d                	je     0x59ee8e
59ee21:	8b 40 64             	mov    0x64(%eax),%eax
59ee24:	85 c0                	test   %eax,%eax
59ee26:	74 66                	je     0x59ee8e
59ee28:	57                   	push   %edi
59ee29:	53                   	push   %ebx
59ee2a:	55                   	push   %ebp
59ee2b:	ff 74 24 4c          	push   0x4c(%esp)
59ee2f:	8d 4c 24 28          	lea    0x28(%esp),%ecx