589c55:	e8 96 14 f9 ff       	call   0x51b0f0
589c5a:	c7 86 e0 03 00 00 00 	movl   $0x0,0x3e0(%esi)
589c61:	00 00 00
589c64:	ff b6 00 04 00 00    	push   0x400(%esi)
589c6a:	e8 81 14 f9 ff       	call   0x51b0f0
589c6f:	83 c4 08             	add    $0x8,%esp
589c72:	c7 86 00 04 00 00 00 	movl   $0x0,0x400(%esi)
589c79:	00 00 00
589c7c:	5e                   	pop    %esi
589c7d:	c3                   	ret
589c7e:	cc                   	int3
589c7f:	cc                   	int3
589c80:	53                   	push   %ebx
589c81:	8b 5c 24 08          	mov    0x8(%esp),%ebx
589c85:	55                   	push   %ebp
589c86:	56                   	push   %esi
589c87:	57                   	push   %edi
589c88:	33 ff                	xor    %edi,%edi
589c8a:	39 3b                	cmp    %edi,(%ebx)
589c8c:	75 2e                	jne    0x589cbc
589c8e:	e8 8d b3 f5 ff       	call   0x4e5020
589c93:	89 03                	mov    %eax,(%ebx)
589c95:	85 c0                	test   %eax,%eax
589c97:	75 23                	jne    0x589cbc
589c99:	68 4c 12 00 00       	push   $0x124c
589c9e:	68 3c 48 66 00       	push   $0x66483c
589ca3:	6a 41                	push   $0x41
589ca5:	68 59 01 00 00       	push   $0x159
589caa:	6a 14                	push   $0x14
589cac:	e8 cf f2 f4 ff       	call   0x4d8f80
589cb1:	83 c4 14             	add    $0x14,%esp
589cb4:	83 c8 ff             	or     $0xffffffff,%eax
589cb7:	5f                   	pop    %edi
589cb8:	5e                   	pop    %esi
589cb9:	5d                   	pop    %ebp
589cba:	5b                   	pop    %ebx
589cbb:	c3                   	ret
589cbc:	8b 6c 24 18          	mov    0x18(%esp),%ebp
589cc0:	55                   	push   %ebp
589cc1:	e8 0a b4 f5 ff       	call   0x4e50d0
589cc6:	8b f0                	mov    %eax,%esi
589cc8:	83 c4 04             	add    $0x4,%esp
589ccb:	85 f6                	test   %esi,%esi
589ccd:	74 32                	je     0x589d01
589ccf:	90                   	nop
589cd0:	ff 74 24 1c          	push   0x1c(%esp)
589cd4:	56                   	push   %esi
589cd5:	e8 36 b1 ff ff       	call   0x584e10
589cda:	83 c4 08             	add    $0x8,%esp
589cdd:	83 f8 01             	cmp    $0x1,%eax
589ce0:	75 2a                	jne    0x589d0c
589ce2:	56                   	push   %esi
589ce3:	ff 33                	push   (%ebx)
589ce5:	e8 66 b4 f5 ff       	call   0x4e5150
589cea:	83 c4 08             	add    $0x8,%esp
589ced:	85 c0                	test   %eax,%eax
589cef:	7e 17                	jle    0x589d08
589cf1:	55                   	push   %ebp
589cf2:	47                   	inc    %edi
589cf3:	e8 d8 b3 f5 ff       	call   0x4e50d0
589cf8:	8b f0                	mov    %eax,%esi
589cfa:	83 c4 04             	add    $0x4,%esp
589cfd:	85 f6                	test   %esi,%esi
589cff:	75 cf                	jne    0x589cd0
589d01:	8b c7                	mov    %edi,%eax
589d03:	5f                   	pop    %edi
589d04:	5e                   	pop    %esi
589d05:	5d                   	pop    %ebp
589d06:	5b                   	pop    %ebx
589d07:	c3                   	ret
589d08:	85 f6                	test   %esi,%esi
589d0a:	74 0a                	je     0x589d16
589d0c:	56                   	push   %esi
589d0d:	55                   	push   %ebp
589d0e:	e8 3d b4 f5 ff       	call   0x4e5150
589d13:	83 c4 08             	add    $0x8,%esp
589d16:	5f                   	pop    %edi
589d17:	5e                   	pop    %esi
589d18:	5d                   	pop    %ebp
589d19:	83 c8 ff             	or     $0xffffffff,%eax
589d1c:	5b                   	pop    %ebx
589d1d:	c3                   	ret
589d1e:	cc                   	int3
589d1f:	cc                   	int3
589d20:	b8 08 00 00 00       	mov    $0x8,%eax
589d25:	e8 86 7a 04 00       	call   0x5d17b0
589d2a:	8b 44 24 10          	mov    0x10(%esp),%eax
589d2e:	8b 80 d0 04 00 00    	mov    0x4d0(%eax),%eax
589d34:	83 b8 1c 02 00 00 00 	cmpl   $0x0,0x21c(%eax)
589d3b:	75 09                	jne    0x589d46
589d3d:	b8 01 00 00 00       	mov    $0x1,%eax
589d42:	83 c4 08             	add    $0x8,%esp
589d45:	c3                   	ret
589d46:	53                   	push   %ebx
589d47:	8b 5c 24 10          	mov    0x10(%esp),%ebx
589d4b:	57                   	push   %edi
589d4c:	8b fb                	mov    %ebx,%edi
589d4e:	8d 4f 01             	lea    0x1(%edi),%ecx
589d51:	8a 07                	mov    (%edi),%al
589d53:	47                   	inc    %edi
589d54:	84 c0                	test   %al,%al
589d56:	75 f9                	jne    0x589d51
589d58:	8b 44 24 28          	mov    0x28(%esp),%eax
589d5c:	2b f9                	sub    %ecx,%edi
589d5e:	55                   	push   %ebp
589d5f:	8b 6c 24 24          	mov    0x24(%esp),%ebp
589d63:	03 c5                	add    %ebp,%eax
589d65:	56                   	push   %esi
589d66:	68 68 14 00 00       	push   $0x1468
589d6b:	68 3c 48 66 00       	push   $0x66483c
589d70:	8d 04 45 03 00 00 00 	lea    0x3(,%eax,2),%eax
589d77:	03 c7                	add    %edi,%eax
589d79:	50                   	push   %eax
589d7a:	89 44 24 20          	mov    %eax,0x20(%esp)
589d7e:	e8 cd 69 f5 ff       	call   0x4e0750
589d83:	8b f0                	mov    %eax,%esi
589d85:	83 c4 0c             	add    $0xc,%esp
589d88:	89 74 24 10          	mov    %esi,0x10(%esp)
589d8c:	85 f6                	test   %esi,%esi
589d8e:	75 29                	jne    0x589db9
589d90:	68 6a 14 00 00       	push   $0x146a
589d95:	68 3c 48 66 00       	push   $0x66483c
589d9a:	6a 41                	push   $0x41
589d9c:	68 f4 01 00 00       	push   $0x1f4
589da1:	6a 50                	push   $0x50
589da3:	ff 74 24 34          	push   0x34(%esp)
589da7:	e8 64 53 00 00       	call   0x58f110
589dac:	83 c4 18             	add    $0x18,%esp
589daf:	33 c0                	xor    %eax,%eax
589db1:	5e                   	pop    %esi
589db2:	5d                   	pop    %ebp
589db3:	5f                   	pop    %edi
589db4:	5b                   	pop    %ebx
589db5:	83 c4 08             	add    $0x8,%esp
589db8:	c3                   	ret
589db9:	8b ce                	mov    %esi,%ecx
589dbb:	2b cb                	sub    %ebx,%ecx
589dbd:	0f 1f 00             	nopl   (%eax)
589dc0:	8a 03                	mov    (%ebx),%al
589dc2:	8d 5b 01             	lea    0x1(%ebx),%ebx
589dc5:	88 44 19 ff          	mov    %al,-0x1(%ecx,%ebx,1)
589dc9:	84 c0                	test   %al,%al
589dcb:	75 f3                	jne    0x589dc0
589dcd:	03 f7                	add    %edi,%esi
589dcf:	33 ff                	xor    %edi,%edi
589dd1:	c6 06 20             	movb   $0x20,(%esi)
589dd4:	46                   	inc    %esi
589dd5:	85 ed                	test   %ebp,%ebp
589dd7:	74 22                	je     0x589dfb
589dd9:	8b 5c 24 24          	mov    0x24(%esp),%ebx
589ddd:	0f 1f 00             	nopl   (%eax)
589de0:	0f b6 04 1f          	movzbl (%edi,%ebx,1),%eax
589de4:	50                   	push   %eax
589de5:	68 70 48 66 00       	push   $0x664870
589dea:	56                   	push   %esi
589deb:	e8 80 6d f1 ff       	call   0x4a0b70
589df0:	47                   	inc    %edi
589df1:	83 c4 0c             	add    $0xc,%esp
589df4:	83 c6 02             	add    $0x2,%esi
589df7:	3b fd                	cmp    %ebp,%edi
589df9:	72 e5                	jb     0x589de0
589dfb:	8b 6c 24 30          	mov    0x30(%esp),%ebp
589dff:	33 ff                	xor    %edi,%edi
589e01:	c6 06 20             	movb   $0x20,(%esi)
589e04:	46                   	inc    %esi
589e05:	85 ed                	test   %ebp,%ebp
589e07:	74 22                	je     0x589e2b
589e09:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
589e0d:	0f 1f 00             	nopl   (%eax)
589e10:	0f b6 04 1f          	movzbl (%edi,%ebx,1),%eax
589e14:	50                   	push   %eax
589e15:	68 70 48 66 00       	push   $0x664870
589e1a:	56                   	push   %esi
589e1b:	e8 50 6d f1 ff       	call   0x4a0b70
589e20:	47                   	inc    %edi
589e21:	83 c4 0c             	add    $0xc,%esp
589e24:	83 c6 02             	add    $0x2,%esi
589e27:	3b fd                	cmp    %ebp,%edi
589e29:	72 e5                	jb     0x589e10
589e2b:	8b 4c 24 20          	mov    0x20(%esp),%ecx
589e2f:	c6 06 00             	movb   $0x0,(%esi)
589e32:	8b 74 24 10          	mov    0x10(%esp),%esi
589e36:	56                   	push   %esi
589e37:	8b 81 d0 04 00 00    	mov    0x4d0(%ecx),%eax
589e3d:	51                   	push   %ecx
589e3e:	8b 80 1c 02 00 00    	mov    0x21c(%eax),%eax
589e44:	ff d0                	call   *%eax
589e46:	68 7f 14 00 00       	push   $0x147f
589e4b:	68 3c 48 66 00       	push   $0x66483c
589e50:	ff 74 24 24          	push   0x24(%esp)
589e54:	56                   	push   %esi
589e55:	e8 e6 69 f5 ff       	call   0x4e0840
589e5a:	83 c4 18             	add    $0x18,%esp
589e5d:	b8 01 00 00 00       	mov    $0x1,%eax
589e62:	5e                   	pop    %esi
589e63:	5d                   	pop    %ebp
589e64:	5f                   	pop    %edi
589e65:	5b                   	pop    %ebx
589e66:	83 c4 08             	add    $0x8,%esp
589e69:	c3                   	ret
589e6a:	cc                   	int3
589e6b:	cc                   	int3
589e6c:	cc                   	int3
589e6d:	cc                   	int3
589e6e:	cc                   	int3
589e6f:	cc                   	int3
589e70:	55                   	push   %ebp
589e71:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
589e75:	33 c9                	xor    %ecx,%ecx
589e77:	56                   	push   %esi
589e78:	8b 74 24 14          	mov    0x14(%esp),%esi
589e7c:	85 f6                	test   %esi,%esi
589e7e:	8b 45 04             	mov    0x4(%ebp),%eax
589e81:	0f 95 c1             	setne  %cl
589e84:	83 c1 02             	add    $0x2,%ecx
589e87:	89 4c 24 14          	mov    %ecx,0x14(%esp)
589e8b:	85 c0                	test   %eax,%eax
589e8d:	75 27                	jne    0x589eb6
589e8f:	68 b0 14 00 00       	push   $0x14b0
589e94:	68 3c 48 66 00       	push   $0x66483c
589e99:	68 b7 00 00 00       	push   $0xb7
589e9e:	68 08 02 00 00       	push   $0x208
589ea3:	6a 2f                	push   $0x2f
589ea5:	ff 74 24 20          	push   0x20(%esp)
589ea9:	e8 62 52 00 00       	call   0x58f110
589eae:	83 c4 18             	add    $0x18,%esp
589eb1:	33 c0                	xor    %eax,%eax
589eb3:	5e                   	pop    %esi
589eb4:	5d                   	pop    %ebp
589eb5:	c3                   	ret
589eb6:	33 d2                	xor    %edx,%edx
589eb8:	f7 f1                	div    %ecx
589eba:	85 d2                	test   %edx,%edx
589ebc:	74 27                	je     0x589ee5
589ebe:	68 b6 14 00 00       	push   $0x14b6
589ec3:	68 3c 48 66 00       	push   $0x66483c
589ec8:	68 97 00 00 00       	push   $0x97
589ecd:	68 08 02 00 00       	push   $0x208
589ed2:	6a 32                	push   $0x32
589ed4:	ff 74 24 20          	push   0x20(%esp)
589ed8:	e8 33 52 00 00       	call   0x58f110
589edd:	83 c4 18             	add    $0x18,%esp
589ee0:	33 c0                	xor    %eax,%eax
589ee2:	5e                   	pop    %esi
589ee3:	5d                   	pop    %ebp
589ee4:	c3                   	ret
589ee5:	53                   	push   %ebx
589ee6:	8b 5c 24 10          	mov    0x10(%esp),%ebx
589eea:	57                   	push   %edi
589eeb:	68 ba 14 00 00       	push   $0x14ba
589ef0:	68 3c 48 66 00       	push   $0x66483c
589ef5:	8b 43 7c             	mov    0x7c(%ebx),%eax
589ef8:	ff b0 48 02 00 00    	push   0x248(%eax)
589efe:	e8 7d 68 f5 ff       	call   0x4e0780
589f03:	8b 43 7c             	mov    0x7c(%ebx),%eax
589f06:	83 c4 0c             	add    $0xc,%esp
589f09:	c7 80 48 02 00 00 00 	movl   $0x0,0x248(%eax)
589f10:	00 00 00
589f13:	8b 43 7c             	mov    0x7c(%ebx),%eax
589f16:	c7 80 4c 02 00 00 00 	movl   $0x0,0x24c(%eax)
589f1d:	00 00 00
589f20:	85 f6                	test   %esi,%esi
589f22:	0f 84 f0 00 00 00    	je     0x58a018
589f28:	8b 45 04             	mov    0x4(%ebp),%eax
589f2b:	33 d2                	xor    %edx,%edx
589f2d:	f7 74 24 1c          	divl   0x1c(%esp)
589f31:	8b 7d 00             	mov    0x0(%ebp),%edi
589f34:	8b 75 04             	mov    0x4(%ebp),%esi
589f37:	03 c0                	add    %eax,%eax
589f39:	68 cb 14 00 00       	push   $0x14cb
589f3e:	68 3c 48 66 00       	push   $0x66483c
589f43:	50                   	push   %eax
589f44:	e8 07 68 f5 ff       	call   0x4e0750
589f49:	8b 4b 7c             	mov    0x7c(%ebx),%ecx
589f4c:	8b d0                	mov    %eax,%edx
589f4e:	83 c4 0c             	add    $0xc,%esp
589f51:	89 91 48 02 00 00    	mov    %edx,0x248(%ecx)
589f57:	85 d2                	test   %edx,%edx
589f59:	75 11                	jne    0x589f6c
589f5b:	68 cf 14 00 00       	push   $0x14cf
589f60:	68 3c 48 66 00       	push   $0x66483c
589f65:	6a 41                	push   $0x41
589f67:	e9 0e 01 00 00       	jmp    0x58a07a
589f6c:	8b 43 7c             	mov    0x7c(%ebx),%eax
589f6f:	c7 80 4c 02 00 00 00 	movl   $0x0,0x24c(%eax)
589f76:	00 00 00
589f79:	85 f6                	test   %esi,%esi
589f7b:	0f 84 16 01 00 00    	je     0x58a097
589f81:	8b cf                	mov    %edi,%ecx
589f83:	4e                   	dec    %esi
589f84:	80 3f 00             	cmpb   $0x0,(%edi)
589f87:	75 1b                	jne    0x589fa4
589f89:	83 fe 02             	cmp    $0x2,%esi
589f8c:	72 32                	jb     0x589fc0
589f8e:	66 8b 41 01          	mov    0x1(%ecx),%ax
589f92:	83 c6 fe             	add    $0xfffffffe,%esi
589f95:	66 89 02             	mov    %ax,(%edx)
589f98:	8b 43 7c             	mov    0x7c(%ebx),%eax
589f9b:	83 80 4c 02 00 00 02 	addl   $0x2,0x24c(%eax)
589fa2:	eb 08                	jmp    0x589fac
589fa4:	83 fe 02             	cmp    $0x2,%esi
589fa7:	72 17                	jb     0x589fc0
589fa9:	83 c6 fe             	add    $0xfffffffe,%esi
589fac:	8d 79 03             	lea    0x3(%ecx),%edi
589faf:	83 c2 02             	add    $0x2,%edx
589fb2:	8b cf                	mov    %edi,%ecx
589fb4:	85 f6                	test   %esi,%esi
589fb6:	75 cb                	jne    0x589f83
589fb8:	5f                   	pop    %edi
589fb9:	5b                   	pop    %ebx
589fba:	8d 46 01             	lea    0x1(%esi),%eax
589fbd:	5e                   	pop    %esi
589fbe:	5d                   	pop    %ebp
589fbf:	c3                   	ret
589fc0:	68 dc 14 00 00       	push   $0x14dc
589fc5:	68 3c 48 66 00       	push   $0x66483c
589fca:	68 f0 00 00 00       	push   $0xf0
589fcf:	68 08 02 00 00       	push   $0x208
589fd4:	6a 32                	push   $0x32
589fd6:	53                   	push   %ebx
589fd7:	e8 34 51 00 00       	call   0x58f110
589fdc:	8b 43 7c             	mov    0x7c(%ebx),%eax
589fdf:	68 dd 14 00 00       	push   $0x14dd
589fe4:	68 3c 48 66 00       	push   $0x66483c
589fe9:	ff b0 48 02 00 00    	push   0x248(%eax)
589fef:	e8 8c 67 f5 ff       	call   0x4e0780
589ff4:	8b 43 7c             	mov    0x7c(%ebx),%eax
589ff7:	83 c4 24             	add    $0x24,%esp
589ffa:	c7 80 48 02 00 00 00 	movl   $0x0,0x248(%eax)
58a001:	00 00 00
58a004:	8b 43 7c             	mov    0x7c(%ebx),%eax
58a007:	5f                   	pop    %edi
58a008:	5b                   	pop    %ebx
58a009:	5e                   	pop    %esi
58a00a:	c7 80 4c 02 00 00 00 	movl   $0x0,0x24c(%eax)
58a011:	00 00 00
58a014:	33 c0                	xor    %eax,%eax
58a016:	5d                   	pop    %ebp
58a017:	c3                   	ret
58a018:	8b 73 7c             	mov    0x7c(%ebx),%esi
58a01b:	68 a4 01 00 00       	push   $0x1a4
58a020:	68 f8 47 66 00       	push   $0x6647f8
58a025:	ff b6 48 02 00 00    	push   0x248(%esi)
58a02b:	e8 50 67 f5 ff       	call   0x4e0780
58a030:	c7 86 48 02 00 00 00 	movl   $0x0,0x248(%esi)
58a037:	00 00 00
58a03a:	83 c4 0c             	add    $0xc,%esp
58a03d:	c7 86 4c 02 00 00 00 	movl   $0x0,0x24c(%esi)
58a044:	00 00 00
58a047:	8b 7d 04             	mov    0x4(%ebp),%edi