430bc4:	ff 15 18 21 45 00    	call   *0x452118
430bca:	85 c0                	test   %eax,%eax
430bcc:	75 06                	jne    0x430bd4
430bce:	ff 15 6c 20 45 00    	call   *0x45206c
430bd4:	c7 86 b0 03 00 00 00 	movl   $0x0,0x3b0(%esi)
430bdb:	00 00 00
430bde:	8b 86 b8 03 00 00    	mov    0x3b8(%esi),%eax
430be4:	83 f8 ff             	cmp    $0xffffffff,%eax
430be7:	74 11                	je     0x430bfa
430be9:	50                   	push   %eax
430bea:	ff 15 10 21 45 00    	call   *0x452110
430bf0:	c7 86 b8 03 00 00 ff 	movl   $0xffffffff,0x3b8(%esi)
430bf7:	ff ff ff
430bfa:	56                   	push   %esi
430bfb:	6a 00                	push   $0x0
430bfd:	ff 35 00 12 45 00    	push   0x451200
430c03:	ff 15 18 21 45 00    	call   *0x452118
430c09:	85 c0                	test   %eax,%eax
430c0b:	75 06                	jne    0x430c13
430c0d:	ff 15 6c 20 45 00    	call   *0x45206c
430c13:	5f                   	pop    %edi
430c14:	8b c6                	mov    %esi,%eax
430c16:	5e                   	pop    %esi
430c17:	c2 04 00             	ret    $0x4
430c1a:	cc                   	int3
430c1b:	cc                   	int3
430c1c:	cc                   	int3
430c1d:	cc                   	int3
430c1e:	cc                   	int3
430c1f:	cc                   	int3
430c20:	8b ff                	mov    %edi,%edi
430c22:	55                   	push   %ebp
430c23:	8b ec                	mov    %esp,%ebp
430c25:	51                   	push   %ecx
430c26:	53                   	push   %ebx
430c27:	8b da                	mov    %edx,%ebx
430c29:	8b c1                	mov    %ecx,%eax
430c2b:	56                   	push   %esi
430c2c:	8b 35 e8 14 45 00    	mov    0x4514e8,%esi
430c32:	89 45 fc             	mov    %eax,-0x4(%ebp)
430c35:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
430c3b:	57                   	push   %edi
430c3c:	bf 93 ff ff ff       	mov    $0xffffff93,%edi
430c41:	85 f6                	test   %esi,%esi
430c43:	74 1d                	je     0x430c62
430c45:	51                   	push   %ecx
430c46:	8d 4e 18             	lea    0x18(%esi),%ecx
430c49:	8b d0                	mov    %eax,%edx
430c4b:	e8 a0 81 ff ff       	call   0x428df0
430c50:	85 c0                	test   %eax,%eax
430c52:	75 04                	jne    0x430c58
430c54:	89 33                	mov    %esi,(%ebx)
430c56:	33 ff                	xor    %edi,%edi
430c58:	8b 76 04             	mov    0x4(%esi),%esi
430c5b:	8b 45 fc             	mov    -0x4(%ebp),%eax
430c5e:	85 f6                	test   %esi,%esi
430c60:	75 e3                	jne    0x430c45
430c62:	8b c7                	mov    %edi,%eax
430c64:	5f                   	pop    %edi
430c65:	5e                   	pop    %esi
430c66:	5b                   	pop    %ebx
430c67:	8b e5                	mov    %ebp,%esp
430c69:	5d                   	pop    %ebp
430c6a:	c3                   	ret
430c6b:	cc                   	int3
430c6c:	cc                   	int3
430c6d:	cc                   	int3
430c6e:	cc                   	int3
430c6f:	cc                   	int3
430c70:	8b ff                	mov    %edi,%edi
430c72:	55                   	push   %ebp
430c73:	8b ec                	mov    %esp,%ebp
430c75:	83 e4 f8             	and    $0xfffffff8,%esp
430c78:	83 ec 14             	sub    $0x14,%esp
430c7b:	53                   	push   %ebx
430c7c:	56                   	push   %esi
430c7d:	57                   	push   %edi
430c7e:	89 54 24 1c          	mov    %edx,0x1c(%esp)
430c82:	89 4c 24 14          	mov    %ecx,0x14(%esp)
430c86:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
430c8d:	00
430c8e:	e8 6d c5 ff ff       	call   0x42d200
430c93:	8b 35 e8 14 45 00    	mov    0x4514e8,%esi
430c99:	33 ff                	xor    %edi,%edi
430c9b:	89 7c 24 10          	mov    %edi,0x10(%esp)
430c9f:	bb 93 ff ff ff       	mov    $0xffffff93,%ebx
430ca4:	85 f6                	test   %esi,%esi
430ca6:	74 20                	je     0x430cc8
430ca8:	8b 54 24 14          	mov    0x14(%esp),%edx
430cac:	51                   	push   %ecx
430cad:	8d 4e 18             	lea    0x18(%esi),%ecx
430cb0:	e8 3b 81 ff ff       	call   0x428df0
430cb5:	85 c0                	test   %eax,%eax
430cb7:	75 08                	jne    0x430cc1
430cb9:	8b fe                	mov    %esi,%edi
430cbb:	33 db                	xor    %ebx,%ebx
430cbd:	89 7c 24 10          	mov    %edi,0x10(%esp)
430cc1:	8b 76 04             	mov    0x4(%esi),%esi
430cc4:	85 f6                	test   %esi,%esi
430cc6:	75 e0                	jne    0x430ca8
430cc8:	85 ff                	test   %edi,%edi
430cca:	0f 85 06 02 00 00    	jne    0x430ed6
430cd0:	e8 4b c4 ff ff       	call   0x42d120
430cd5:	b9 f0 14 45 00       	mov    $0x4514f0,%ecx
430cda:	e8 d1 c0 ff ff       	call   0x42cdb0
430cdf:	8b 4c 24 14          	mov    0x14(%esp),%ecx
430ce3:	8d 54 24 10          	lea    0x10(%esp),%edx
430ce7:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
430cee:	00
430cef:	e8 2c ff ff ff       	call   0x430c20
430cf4:	8b 7c 24 10          	mov    0x10(%esp),%edi
430cf8:	8b d8                	mov    %eax,%ebx
430cfa:	85 ff                	test   %edi,%edi
430cfc:	0f 85 d4 01 00 00    	jne    0x430ed6
430d02:	b9 f0 14 45 00       	mov    $0x4514f0,%ecx
430d07:	e8 a4 c1 ff ff       	call   0x42ceb0
430d0c:	83 f8 03             	cmp    $0x3,%eax
430d0f:	75 0a                	jne    0x430d1b
430d11:	b9 f0 14 45 00       	mov    $0x4514f0,%ecx
430d16:	e8 c5 c2 ff ff       	call   0x42cfe0
430d1b:	68 c8 03 00 00       	push   $0x3c8
430d20:	6a 00                	push   $0x0
430d22:	ff 35 00 12 45 00    	push   0x451200
430d28:	ff 15 24 21 45 00    	call   *0x452124
430d2e:	8b f0                	mov    %eax,%esi
430d30:	85 f6                	test   %esi,%esi
430d32:	0f 84 e9 00 00 00    	je     0x430e21
430d38:	68 c8 03 00 00       	push   $0x3c8
430d3d:	6a 00                	push   $0x0
430d3f:	56                   	push   %esi
430d40:	e8 1c cd 01 00       	call   0x44da61
430d45:	83 c4 0c             	add    $0xc,%esp
430d48:	c7 06 ff ff ff ff    	movl   $0xffffffff,(%esi)
430d4e:	c7 46 04 ff ff ff ff 	movl   $0xffffffff,0x4(%esi)
430d55:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
430d5c:	e8 2f c8 ff ff       	call   0x42d590
430d61:	8d 8e b4 03 00 00    	lea    0x3b4(%esi),%ecx
430d67:	89 86 a0 03 00 00    	mov    %eax,0x3a0(%esi)
430d6d:	89 96 a4 03 00 00    	mov    %edx,0x3a4(%esi)
430d73:	6a 01                	push   $0x1
430d75:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
430d7b:	e8 c0 40 fe ff       	call   0x414e40
430d80:	c7 86 b8 03 00 00 ff 	movl   $0xffffffff,0x3b8(%esi)
430d87:	ff ff ff
430d8a:	e8 71 c6 ff ff       	call   0x42d400
430d8f:	83 e8 64             	sub    $0x64,%eax
430d92:	89 86 bc 03 00 00    	mov    %eax,0x3bc(%esi)
430d98:	33 c0                	xor    %eax,%eax
430d9a:	68 60 01 00 00       	push   $0x160
430d9f:	50                   	push   %eax
430da0:	66 89 46 18          	mov    %ax,0x18(%esi)
430da4:	8d 86 20 02 00 00    	lea    0x220(%esi),%eax
430daa:	50                   	push   %eax
430dab:	e8 b1 cc 01 00       	call   0x44da61
430db0:	83 c4 0c             	add    $0xc,%esp
430db3:	8b ce                	mov    %esi,%ecx
430db5:	ff 74 24 1c          	push   0x1c(%esp)
430db9:	ff 74 24 18          	push   0x18(%esp)
430dbd:	e8 de fa ff ff       	call   0x4308a0
430dc2:	8b d8                	mov    %eax,%ebx
430dc4:	85 db                	test   %ebx,%ebx
430dc6:	78 4f                	js     0x430e17
430dc8:	b9 01 00 00 00       	mov    $0x1,%ecx
430dcd:	8d 46 0c             	lea    0xc(%esi),%eax
430dd0:	f0 0f c1 08          	lock xadd %ecx,(%eax)
430dd4:	83 3d e8 14 45 00 00 	cmpl   $0x0,0x4514e8
430ddb:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
430de1:	75 19                	jne    0x430dfc
430de3:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
430dea:	8b fe                	mov    %esi,%edi
430dec:	89 35 ec 14 45 00    	mov    %esi,0x4514ec
430df2:	33 db                	xor    %ebx,%ebx
430df4:	89 35 e8 14 45 00    	mov    %esi,0x4514e8
430dfa:	eb 66                	jmp    0x430e62
430dfc:	a1 e8 14 45 00       	mov    0x4514e8,%eax
430e01:	8b fe                	mov    %esi,%edi
430e03:	89 46 04             	mov    %eax,0x4(%esi)
430e06:	33 db                	xor    %ebx,%ebx
430e08:	a1 e8 14 45 00       	mov    0x4514e8,%eax
430e0d:	89 30                	mov    %esi,(%eax)
430e0f:	89 35 e8 14 45 00    	mov    %esi,0x4514e8
430e15:	eb 4b                	jmp    0x430e62
430e17:	51                   	push   %ecx
430e18:	8b ce                	mov    %esi,%ecx
430e1a:	e8 f1 fc ff ff       	call   0x430b10
430e1f:	eb 41                	jmp    0x430e62
430e21:	e8 ca ce 00 00       	call   0x43dcf0
430e26:	83 c0 10             	add    $0x10,%eax
430e29:	74 0a                	je     0x430e35
430e2b:	e8 c0 ce 00 00       	call   0x43dcf0
430e30:	83 c0 14             	add    $0x14,%eax
430e33:	eb 02                	jmp    0x430e37
430e35:	33 c0                	xor    %eax,%eax
430e37:	81 3d 30 1a 45 00 0d 	cmpl   $0xfffffc0d,0x451a30
430e3e:	fc ff ff
430e41:	c7 00 60 19 41 00    	movl   $0x411960,(%eax)
430e47:	c7 40 04 2b 0c 00 00 	movl   $0xc2b,0x4(%eax)
430e4e:	c7 40 08 0d fc ff ff 	movl   $0xfffffc0d,0x8(%eax)
430e55:	75 06                	jne    0x430e5d
430e57:	ff 15 58 20 45 00    	call   *0x452058
430e5d:	bb 0d fc ff ff       	mov    $0xfffffc0d,%ebx
430e62:	b9 f0 14 45 00       	mov    $0x4514f0,%ecx
430e67:	e8 84 77 00 00       	call   0x4385f0
430e6c:	85 db                	test   %ebx,%ebx
430e6e:	0f 88 e2 00 00 00    	js     0x430f56
430e74:	83 3d 68 1a 45 00 00 	cmpl   $0x0,0x451a68
430e7b:	0f 84 c9 00 00 00    	je     0x430f4a
430e81:	83 3d 6c 1a 45 00 00 	cmpl   $0x0,0x451a6c
430e88:	0f 85 bc 00 00 00    	jne    0x430f4a
430e8e:	83 3d 3c 14 45 00 00 	cmpl   $0x0,0x45143c
430e95:	0f 84 af 00 00 00    	je     0x430f4a
430e9b:	83 3d 64 1a 45 00 00 	cmpl   $0x0,0x451a64
430ea2:	74 12                	je     0x430eb6
430ea4:	ff 15 b4 21 45 00    	call   *0x4521b4
430eaa:	3b 05 64 1a 45 00    	cmp    0x451a64,%eax
430eb0:	0f 85 94 00 00 00    	jne    0x430f4a
430eb6:	e8 75 92 ff ff       	call   0x42a130
430ebb:	85 c0                	test   %eax,%eax
430ebd:	74 03                	je     0x430ec2
430ebf:	ff 40 18             	incl   0x18(%eax)
430ec2:	8d 47 18             	lea    0x18(%edi),%eax
430ec5:	50                   	push   %eax
430ec6:	57                   	push   %edi
430ec7:	68 0c 22 41 00       	push   $0x41220c
430ecc:	e8 ff 9c ff ff       	call   0x42abd0
430ed1:	83 c4 0c             	add    $0xc,%esp
430ed4:	eb 63                	jmp    0x430f39
430ed6:	8d 77 0c             	lea    0xc(%edi),%esi
430ed9:	b8 01 00 00 00       	mov    $0x1,%eax
430ede:	f0 0f c1 06          	lock xadd %eax,(%esi)
430ee2:	83 3d 68 1a 45 00 00 	cmpl   $0x0,0x451a68
430ee9:	74 5f                	je     0x430f4a
430eeb:	83 3d 6c 1a 45 00 00 	cmpl   $0x0,0x451a6c
430ef2:	75 56                	jne    0x430f4a
430ef4:	83 3d 3c 14 45 00 00 	cmpl   $0x0,0x45143c
430efb:	74 4d                	je     0x430f4a
430efd:	83 3d 64 1a 45 00 00 	cmpl   $0x0,0x451a64
430f04:	74 0e                	je     0x430f14
430f06:	ff 15 b4 21 45 00    	call   *0x4521b4
430f0c:	3b 05 64 1a 45 00    	cmp    0x451a64,%eax
430f12:	75 36                	jne    0x430f4a
430f14:	e8 17 92 ff ff       	call   0x42a130
430f19:	85 c0                	test   %eax,%eax
430f1b:	74 03                	je     0x430f20
430f1d:	ff 40 18             	incl   0x18(%eax)
430f20:	8b 06                	mov    (%esi),%eax
430f22:	8b 7c 24 10          	mov    0x10(%esp),%edi
430f26:	50                   	push   %eax
430f27:	8d 47 18             	lea    0x18(%edi),%eax
430f2a:	50                   	push   %eax
430f2b:	57                   	push   %edi
430f2c:	68 2c 22 41 00       	push   $0x41222c
430f31:	e8 9a 9c ff ff       	call   0x42abd0
430f36:	83 c4 10             	add    $0x10,%esp
430f39:	8b d0                	mov    %eax,%edx
430f3b:	b9 27 00 00 00       	mov    $0x27,%ecx
430f40:	e8 9b 9a ff ff       	call   0x42a9e0
430f45:	e8 d6 9a ff ff       	call   0x42aa20
430f4a:	8b 45 08             	mov    0x8(%ebp),%eax
430f4d:	89 38                	mov    %edi,(%eax)
430f4f:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
430f54:	74 15                	je     0x430f6b
430f56:	b9 f0 14 45 00       	mov    $0x4514f0,%ecx
430f5b:	e8 20 75 00 00       	call   0x438480
430f60:	8b c3                	mov    %ebx,%eax
430f62:	5f                   	pop    %edi
430f63:	5e                   	pop    %esi
430f64:	5b                   	pop    %ebx
430f65:	8b e5                	mov    %ebp,%esp
430f67:	5d                   	pop    %ebp
430f68:	c2 04 00             	ret    $0x4
430f6b:	e8 b0 c1 ff ff       	call   0x42d120
430f70:	5f                   	pop    %edi
430f71:	5e                   	pop    %esi
430f72:	8b c3                	mov    %ebx,%eax
430f74:	5b                   	pop    %ebx
430f75:	8b e5                	mov    %ebp,%esp
430f77:	5d                   	pop    %ebp
430f78:	c2 04 00             	ret    $0x4
430f7b:	cc                   	int3
430f7c:	cc                   	int3
430f7d:	cc                   	int3
430f7e:	cc                   	int3
430f7f:	cc                   	int3
430f80:	8b ff                	mov    %edi,%edi
430f82:	55                   	push   %ebp
430f83:	8b ec                	mov    %esp,%ebp
430f85:	83 ec 14             	sub    $0x14,%esp
430f88:	53                   	push   %ebx
430f89:	56                   	push   %esi
430f8a:	8b 75 08             	mov    0x8(%ebp),%esi
430f8d:	57                   	push   %edi
430f8e:	8b 7e 20             	mov    0x20(%esi),%edi
430f91:	85 ff                	test   %edi,%edi
430f93:	0f 8e 97 00 00 00    	jle    0x431030
430f99:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
430fa0:	8d 47 ff             	lea    -0x1(%edi),%eax
430fa3:	8b c0                	mov    %eax,%eax
430fa5:	85 c0                	test   %eax,%eax
430fa7:	79 03                	jns    0x430fac
430fa9:	83 c0 01             	add    $0x1,%eax
430fac:	d1 f8                	sar    $1,%eax
430fae:	8d 14 85 00 00 00 00 	lea    0x0(,%eax,4),%edx
430fb5:	89 45 f0             	mov    %eax,-0x10(%ebp)
430fb8:	8b 01                	mov    (%ecx),%eax
430fba:	89 55 f4             	mov    %edx,-0xc(%ebp)
430fbd:	8b 04 02             	mov    (%edx,%eax,1),%eax
430fc0:	89 45 f8             	mov    %eax,-0x8(%ebp)
430fc3:	8b 80 80 00 00 00    	mov    0x80(%eax),%eax
430fc9:	8b 70 24             	mov    0x24(%eax),%esi
430fcc:	8b 50 20             	mov    0x20(%eax),%edx
430fcf:	8b 45 08             	mov    0x8(%ebp),%eax
430fd2:	8b 80 80 00 00 00    	mov    0x80(%eax),%eax
430fd8:	8b 58 20             	mov    0x20(%eax),%ebx
430fdb:	89 5d fc             	mov    %ebx,-0x4(%ebp)
430fde:	8b 58 24             	mov    0x24(%eax),%ebx
430fe1:	8b 45 fc             	mov    -0x4(%ebp),%eax
430fe4:	2b c2                	sub    %edx,%eax
430fe6:	89 45 fc             	mov    %eax,-0x4(%ebp)
430fe9:	1b de                	sbb    %esi,%ebx
430feb:	8b 75 08             	mov    0x8(%ebp),%esi
430fee:	0b c3                	or     %ebx,%eax
430ff0:	74 05                	je     0x430ff7
430ff2:	8b 45 fc             	mov    -0x4(%ebp),%eax
430ff5:	eb 0f                	jmp    0x431006
430ff7:	8b 55 f8             	mov    -0x8(%ebp),%edx
430ffa:	8b 46 70             	mov    0x70(%esi),%eax
430ffd:	8b 5e 74             	mov    0x74(%esi),%ebx
431000:	2b 42 70             	sub    0x70(%edx),%eax
431003:	1b 5a 74             	sbb    0x74(%edx),%ebx
431006:	85 db                	test   %ebx,%ebx
431008:	7f 26                	jg     0x431030
43100a:	7c 04                	jl     0x431010
43100c:	85 c0                	test   %eax,%eax
43100e:	73 20                	jae    0x431030
431010:	8b 01                	mov    (%ecx),%eax
431012:	8b 55 f4             	mov    -0xc(%ebp),%edx
431015:	8b 14 02             	mov    (%edx,%eax,1),%edx
431018:	8b 01                	mov    (%ecx),%eax
43101a:	89 14 b8             	mov    %edx,(%eax,%edi,4)
43101d:	8b 01                	mov    (%ecx),%eax
43101f:	8b 04 b8             	mov    (%eax,%edi,4),%eax
431022:	89 78 20             	mov    %edi,0x20(%eax)
431025:	8b 7d f0             	mov    -0x10(%ebp),%edi
431028:	85 ff                	test   %edi,%edi
43102a:	0f 8f 70 ff ff ff    	jg     0x430fa0
431030:	3b 79 08             	cmp    0x8(%ecx),%edi
431033:	0f 8d 16 01 00 00    	jge    0x43114f
431039:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
431040:	8d 1c 7d 01 00 00 00 	lea    0x1(,%edi,2),%ebx