418e45:	ff 15 d4 a2 43 00    	call   *0x43a2d4
418e4b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
418e52:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
418e56:	74 16                	je     0x418e6e
418e58:	8b ce                	mov    %esi,%ecx
418e5a:	e8 f3 03 00 00       	call   0x419252
418e5f:	8b 4e 40             	mov    0x40(%esi),%ecx
418e62:	e8 95 b0 01 00       	call   0x433efc
418e67:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
418e6e:	57                   	push   %edi
418e6f:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
418e76:	ff 15 9c a2 43 00    	call   *0x43a29c
418e7c:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
418e80:	74 0b                	je     0x418e8d
418e82:	8b 4e 40             	mov    0x40(%esi),%ecx
418e85:	83 ec 08             	sub    $0x8,%esp
418e88:	e8 7b b1 01 00       	call   0x434008
418e8d:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
418e94:	8b 03                	mov    (%ebx),%eax
418e96:	85 c0                	test   %eax,%eax
418e98:	74 17                	je     0x418eb1
418e9a:	8b 55 e8             	mov    -0x18(%ebp),%edx
418e9d:	8d 49 00             	lea    0x0(%ecx),%ecx
418ea0:	8b 48 04             	mov    0x4(%eax),%ecx
418ea3:	89 4d f0             	mov    %ecx,-0x10(%ebp)
418ea6:	39 51 10             	cmp    %edx,0x10(%ecx)
418ea9:	74 45                	je     0x418ef0
418eab:	8b 00                	mov    (%eax),%eax
418ead:	85 c0                	test   %eax,%eax
418eaf:	75 ef                	jne    0x418ea0
418eb1:	8b 1d 3c 1a 40 00    	mov    0x401a3c,%ebx
418eb7:	8b cb                	mov    %ebx,%ecx
418eb9:	6a 20                	push   $0x20
418ebb:	ff 15 20 a5 43 00    	call   *0x43a520
418ec1:	ff d3                	call   *%ebx
418ec3:	8b 5d ec             	mov    -0x14(%ebp),%ebx
418ec6:	89 45 dc             	mov    %eax,-0x24(%ebp)
418ec9:	85 c0                	test   %eax,%eax
418ecb:	74 0e                	je     0x418edb
418ecd:	ff 73 48             	push   0x48(%ebx)
418ed0:	8b c8                	mov    %eax,%ecx
418ed2:	e8 83 02 00 00       	call   0x41915a
418ed7:	8b c8                	mov    %eax,%ecx
418ed9:	eb 02                	jmp    0x418edd
418edb:	33 c9                	xor    %ecx,%ecx
418edd:	89 4d f0             	mov    %ecx,-0x10(%ebp)
418ee0:	85 c9                	test   %ecx,%ecx
418ee2:	74 14                	je     0x418ef8
418ee4:	8b 03                	mov    (%ebx),%eax
418ee6:	89 01                	mov    %eax,(%ecx)
418ee8:	89 49 04             	mov    %ecx,0x4(%ecx)
418eeb:	ff 43 4c             	incl   0x4c(%ebx)
418eee:	89 0b                	mov    %ecx,(%ebx)
418ef0:	85 c9                	test   %ecx,%ecx
418ef2:	74 04                	je     0x418ef8
418ef4:	c6 41 14 01          	movb   $0x1,0x14(%ecx)
418ef8:	57                   	push   %edi
418ef9:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
418f00:	ff 15 d4 a2 43 00    	call   *0x43a2d4
418f06:	83 3e 01             	cmpl   $0x1,(%esi)
418f09:	75 07                	jne    0x418f12
418f0b:	c7 46 04 ff ff ff ff 	movl   $0xffffffff,0x4(%esi)
418f12:	f0 ff 0e             	lock decl (%esi)
418f15:	8b 46 3c             	mov    0x3c(%esi),%eax
418f18:	85 c0                	test   %eax,%eax
418f1a:	75 2a                	jne    0x418f46
418f1c:	8b 1d 44 1a 40 00    	mov    0x401a44,%ebx
418f22:	8b cb                	mov    %ebx,%ecx
418f24:	6a 04                	push   $0x4
418f26:	ff 15 20 a5 43 00    	call   *0x43a520
418f2c:	ff d3                	call   *%ebx
418f2e:	89 45 dc             	mov    %eax,-0x24(%ebp)
418f31:	85 c0                	test   %eax,%eax
418f33:	74 0c                	je     0x418f41
418f35:	83 ec 08             	sub    $0x8,%esp
418f38:	8b c8                	mov    %eax,%ecx
418f3a:	e8 5a 03 00 00       	call   0x419299
418f3f:	eb 02                	jmp    0x418f43
418f41:	33 c0                	xor    %eax,%eax
418f43:	89 46 3c             	mov    %eax,0x3c(%esi)
418f46:	ff 30                	push   (%eax)
418f48:	ff 15 b0 a2 43 00    	call   *0x43a2b0
418f4e:	85 c0                	test   %eax,%eax
418f50:	74 39                	je     0x418f8b
418f52:	57                   	push   %edi
418f53:	ff 15 9c a2 43 00    	call   *0x43a29c
418f59:	ff 75 e4             	push   -0x1c(%ebp)
418f5c:	ff 15 9c a2 43 00    	call   *0x43a29c
418f62:	8b 4d f0             	mov    -0x10(%ebp),%ecx
418f65:	85 c9                	test   %ecx,%ecx
418f67:	74 0e                	je     0x418f77
418f69:	8b 45 ec             	mov    -0x14(%ebp),%eax
418f6c:	ff 70 4c             	push   0x4c(%eax)
418f6f:	ff 75 08             	push   0x8(%ebp)
418f72:	e8 49 00 00 00       	call   0x418fc0
418f77:	8b 4d f4             	mov    -0xc(%ebp),%ecx
418f7a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
418f81:	59                   	pop    %ecx
418f82:	5f                   	pop    %edi
418f83:	5e                   	pop    %esi
418f84:	5b                   	pop    %ebx
418f85:	8b e5                	mov    %ebp,%esp
418f87:	5d                   	pop    %ebp
418f88:	c2 04 00             	ret    $0x4
418f8b:	8b 4d 04             	mov    0x4(%ebp),%ecx
418f8e:	ba 15 01 00 00       	mov    $0x115,%edx
418f93:	68 88 50 40 00       	push   $0x405088
418f98:	e8 84 43 01 00       	call   0x42d321
418f9d:	cc                   	int3
418f9e:	cc                   	int3
418f9f:	cc                   	int3
418fa0:	cc                   	int3
418fa1:	cc                   	int3
418fa2:	cc                   	int3
418fa3:	cc                   	int3
418fa4:	cc                   	int3
418fa5:	cc                   	int3
418fa6:	cc                   	int3
418fa7:	cc                   	int3
418fa8:	cc                   	int3
418fa9:	cc                   	int3
418faa:	cc                   	int3
418fab:	cc                   	int3
418fac:	cc                   	int3
418fad:	cc                   	int3
418fae:	cc                   	int3
418faf:	cc                   	int3
418fb0:	cc                   	int3
418fb1:	cc                   	int3
418fb2:	cc                   	int3
418fb3:	cc                   	int3
418fb4:	cc                   	int3
418fb5:	cc                   	int3
418fb6:	cc                   	int3
418fb7:	cc                   	int3
418fb8:	cc                   	int3
418fb9:	cc                   	int3
418fba:	cc                   	int3
418fbb:	cc                   	int3
418fbc:	cc                   	int3
418fbd:	cc                   	int3
418fbe:	cc                   	int3
418fbf:	cc                   	int3
418fc0:	8b ff                	mov    %edi,%edi
418fc2:	55                   	push   %ebp
418fc3:	8b ec                	mov    %esp,%ebp
418fc5:	83 ec 34             	sub    $0x34,%esp
418fc8:	53                   	push   %ebx
418fc9:	56                   	push   %esi
418fca:	57                   	push   %edi
418fcb:	8b f1                	mov    %ecx,%esi
418fcd:	ff 15 04 a3 43 00    	call   *0x43a304
418fd3:	8b 4e 08             	mov    0x8(%esi),%ecx
418fd6:	8b d0                	mov    %eax,%edx
418fd8:	8b fa                	mov    %edx,%edi
418fda:	89 55 f4             	mov    %edx,-0xc(%ebp)
418fdd:	2b 7e 0c             	sub    0xc(%esi),%edi
418fe0:	8b 1c 8d a0 61 40 00 	mov    0x4061a0(,%ecx,4),%ebx
418fe7:	8b 0c 8d 90 61 40 00 	mov    0x406190(,%ecx,4),%ecx
418fee:	3b d9                	cmp    %ecx,%ebx
418ff0:	73 16                	jae    0x419008
418ff2:	85 db                	test   %ebx,%ebx
418ff4:	74 12                	je     0x419008
418ff6:	8b c1                	mov    %ecx,%eax
418ff8:	2b c3                	sub    %ebx,%eax
418ffa:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
418ffe:	0f 85 1f 01 00 00    	jne    0x419123
419004:	8b d9                	mov    %ecx,%ebx
419006:	2b d8                	sub    %eax,%ebx
419008:	8b 46 08             	mov    0x8(%esi),%eax
41900b:	3b 3c 85 90 61 40 00 	cmp    0x406190(,%eax,4),%edi
419012:	73 23                	jae    0x419037
419014:	8b 4e 08             	mov    0x8(%esi),%ecx
419017:	8b 46 08             	mov    0x8(%esi),%eax
41901a:	8b 04 85 a0 61 40 00 	mov    0x4061a0(,%eax,4),%eax
419021:	3b 04 8d 90 61 40 00 	cmp    0x406190(,%ecx,4),%eax
419028:	73 0d                	jae    0x419037
41902a:	5f                   	pop    %edi
41902b:	c6 46 14 00          	movb   $0x0,0x14(%esi)
41902f:	5e                   	pop    %esi
419030:	5b                   	pop    %ebx
419031:	8b e5                	mov    %ebp,%esp
419033:	5d                   	pop    %ebp
419034:	c2 08 00             	ret    $0x8
419037:	8b 4d 08             	mov    0x8(%ebp),%ecx
41903a:	33 c0                	xor    %eax,%eax
41903c:	89 56 0c             	mov    %edx,0xc(%esi)
41903f:	89 45 fc             	mov    %eax,-0x4(%ebp)
419042:	83 f9 ff             	cmp    $0xffffffff,%ecx
419045:	0f 85 aa a8 00 00    	jne    0x4238f5
41904b:	8b 7e 1c             	mov    0x1c(%esi),%edi
41904e:	85 ff                	test   %edi,%edi
419050:	0f 84 da 00 00 00    	je     0x419130
419056:	83 ff ff             	cmp    $0xffffffff,%edi
419059:	0f 84 d1 00 00 00    	je     0x419130
41905f:	85 ff                	test   %edi,%edi
419061:	74 0d                	je     0x419070
419063:	83 ff ff             	cmp    $0xffffffff,%edi
419066:	74 08                	je     0x419070
419068:	89 7c 85 e8          	mov    %edi,-0x18(%ebp,%eax,4)
41906c:	40                   	inc    %eax
41906d:	89 45 fc             	mov    %eax,-0x4(%ebp)
419070:	85 db                	test   %ebx,%ebx
419072:	74 b6                	je     0x41902a
419074:	33 c0                	xor    %eax,%eax
419076:	8d 7d cc             	lea    -0x34(%ebp),%edi
419079:	6a 01                	push   $0x1
41907b:	50                   	push   %eax
41907c:	50                   	push   %eax
41907d:	b9 07 00 00 00       	mov    $0x7,%ecx
419082:	50                   	push   %eax
419083:	f3 ab                	rep stos %eax,%es:(%edi)
419085:	8d 45 cc             	lea    -0x34(%ebp),%eax
419088:	50                   	push   %eax
419089:	ff 15 18 d0 43 00    	call   *0x43d018
41908f:	85 c0                	test   %eax,%eax
419091:	0f 85 89 a8 00 00    	jne    0x423920
419097:	f6 05 81 90 43 00 02 	testb  $0x2,0x439081
41909e:	0f 85 ab a8 00 00    	jne    0x42394f
4190a4:	8b 7d fc             	mov    -0x4(%ebp),%edi
4190a7:	8d 45 e8             	lea    -0x18(%ebp),%eax
4190aa:	68 ff 1c 00 00       	push   $0x1cff
4190af:	53                   	push   %ebx
4190b0:	6a 00                	push   $0x0
4190b2:	50                   	push   %eax
4190b3:	57                   	push   %edi
4190b4:	ff 15 0c d0 43 00    	call   *0x43d00c
4190ba:	89 45 f4             	mov    %eax,-0xc(%ebp)
4190bd:	ff 15 04 a3 43 00    	call   *0x43a304
4190c3:	f6 05 81 90 43 00 02 	testb  $0x2,0x439081
4190ca:	8b d8                	mov    %eax,%ebx
4190cc:	0f 85 8d a8 00 00    	jne    0x42395f
4190d2:	8b 4e 08             	mov    0x8(%esi),%ecx
4190d5:	8b 46 08             	mov    0x8(%esi),%eax
4190d8:	8b 04 85 a0 61 40 00 	mov    0x4061a0(,%eax,4),%eax
4190df:	3b 04 8d 90 61 40 00 	cmp    0x406190(,%ecx,4),%eax
4190e6:	0f 83 85 a8 00 00    	jae    0x423971
4190ec:	8b 4e 08             	mov    0x8(%esi),%ecx
4190ef:	2b 5e 0c             	sub    0xc(%esi),%ebx
4190f2:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4190f5:	8b 14 8d a0 61 40 00 	mov    0x4061a0(,%ecx,4),%edx
4190fc:	85 d2                	test   %edx,%edx
4190fe:	74 56                	je     0x419156
419100:	8b 0c 8d 90 61 40 00 	mov    0x406190(,%ecx,4),%ecx
419107:	8b c1                	mov    %ecx,%eax
419109:	2b c2                	sub    %edx,%eax
41910b:	33 d2                	xor    %edx,%edx
41910d:	f7 75 0c             	divl   0xc(%ebp)
419110:	2b c8                	sub    %eax,%ecx
419112:	89 4d f8             	mov    %ecx,-0x8(%ebp)
419115:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
419118:	0f 83 0c ff ff ff    	jae    0x41902a
41911e:	e9 6b a8 00 00       	jmp    0x42398e
419123:	33 d2                	xor    %edx,%edx
419125:	f7 75 0c             	divl   0xc(%ebp)
419128:	8b 55 f4             	mov    -0xc(%ebp),%edx
41912b:	e9 d4 fe ff ff       	jmp    0x419004
419130:	6a 00                	push   $0x0
419132:	6a 00                	push   $0x0
419134:	6a 00                	push   $0x0
419136:	6a 00                	push   $0x0
419138:	ff 15 ac a2 43 00    	call   *0x43a2ac
41913e:	8b 4e 1c             	mov    0x1c(%esi),%ecx
419141:	8b f8                	mov    %eax,%edi
419143:	85 c9                	test   %ecx,%ecx
419145:	0f 85 c2 a7 00 00    	jne    0x42390d
41914b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41914e:	89 7e 1c             	mov    %edi,0x1c(%esi)
419151:	e9 09 ff ff ff       	jmp    0x41905f
419156:	33 c9                	xor    %ecx,%ecx
419158:	eb b8                	jmp    0x419112
41915a:	8b ff                	mov    %edi,%edi
41915c:	55                   	push   %ebp
41915d:	8b ec                	mov    %esp,%ebp
41915f:	8b 45 08             	mov    0x8(%ebp),%eax
419162:	53                   	push   %ebx
419163:	56                   	push   %esi
419164:	8b f1                	mov    %ecx,%esi
419166:	33 db                	xor    %ebx,%ebx
419168:	89 1e                	mov    %ebx,(%esi)
41916a:	89 5e 04             	mov    %ebx,0x4(%esi)
41916d:	89 46 08             	mov    %eax,0x8(%esi)
419170:	ff 15 04 a3 43 00    	call   *0x43a304
419176:	89 46 0c             	mov    %eax,0xc(%esi)
419179:	ff 15 f8 a1 43 00    	call   *0x43a1f8
41917f:	89 46 10             	mov    %eax,0x10(%esi)
419182:	8b c6                	mov    %esi,%eax
419184:	88 5e 14             	mov    %bl,0x14(%esi)
419187:	89 5e 18             	mov    %ebx,0x18(%esi)
41918a:	89 5e 1c             	mov    %ebx,0x1c(%esi)
41918d:	5e                   	pop    %esi
41918e:	5b                   	pop    %ebx
41918f:	5d                   	pop    %ebp
419190:	c2 04 00             	ret    $0x4
419193:	6a 04                	push   $0x4
419195:	b8 a3 ee 41 00       	mov    $0x41eea3,%eax
41919a:	e8 6f 1c 00 00       	call   0x41ae0e
41919f:	8b f9                	mov    %ecx,%edi
4191a1:	8d 77 24             	lea    0x24(%edi),%esi
4191a4:	56                   	push   %esi
4191a5:	89 75 f0             	mov    %esi,-0x10(%ebp)
4191a8:	ff 15 d4 a2 43 00    	call   *0x43a2d4
4191ae:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4191b2:	83 3f 01             	cmpl   $0x1,(%edi)
4191b5:	74 29                	je     0x4191e0
4191b7:	f0 ff 0f             	lock decl (%edi)
4191ba:	8b cf                	mov    %edi,%ecx
4191bc:	e8 14 01 00 00       	call   0x4192d5
4191c1:	8b 4f 3c             	mov    0x3c(%edi),%ecx
4191c4:	e8 1d 00 00 00       	call   0x4191e6
4191c9:	56                   	push   %esi
4191ca:	ff 15 9c a2 43 00    	call   *0x43a29c
4191d0:	8d 47 0c             	lea    0xc(%edi),%eax
4191d3:	50                   	push   %eax
4191d4:	ff 15 9c a2 43 00    	call   *0x43a29c
4191da:	e8 fd 1b 00 00       	call   0x41addc
4191df:	c3                   	ret
4191e0:	83 4f 04 ff          	orl    $0xffffffff,0x4(%edi)
4191e4:	eb d1                	jmp    0x4191b7
4191e6:	8b ff                	mov    %edi,%edi
4191e8:	55                   	push   %ebp
4191e9:	8b ec                	mov    %esp,%ebp
4191eb:	ff 31                	push   (%ecx)
4191ed:	ff 15 b0 a2 43 00    	call   *0x43a2b0
4191f3:	85 c0                	test   %eax,%eax
4191f5:	0f 84 c9 a7 00 00    	je     0x4239c4
4191fb:	5d                   	pop    %ebp
4191fc:	c3                   	ret
4191fd:	6a 04                	push   $0x4
4191ff:	b8 ea ee 41 00       	mov    $0x41eeea,%eax
419204:	e8 05 1c 00 00       	call   0x41ae0e
419209:	8b f1                	mov    %ecx,%esi
41920b:	89 75 f0             	mov    %esi,-0x10(%ebp)
41920e:	8d 46 0c             	lea    0xc(%esi),%eax
419211:	50                   	push   %eax
419212:	ff 15 cc a2 43 00    	call   *0x43a2cc
419218:	8d 46 24             	lea    0x24(%esi),%eax
41921b:	33 ff                	xor    %edi,%edi
41921d:	50                   	push   %eax
41921e:	89 7d fc             	mov    %edi,-0x4(%ebp)
419221:	ff 15 cc a2 43 00    	call   *0x43a2cc
419227:	89 7e 3c             	mov    %edi,0x3c(%esi)
41922a:	89 7e 40             	mov    %edi,0x40(%esi)
41922d:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
419231:	8b ce                	mov    %esi,%ecx
419233:	83 4e 04 ff          	orl    $0xffffffff,0x4(%esi)
419237:	89 7e 08             	mov    %edi,0x8(%esi)
41923a:	89 3e                	mov    %edi,(%esi)
41923c:	e8 11 00 00 00       	call   0x419252
419241:	8b ce                	mov    %esi,%ecx