445f7b:	ff 15 c4 12 45 00    	call   *0x4512c4
445f81:	ff d6                	call   *%esi
445f83:	33 c0                	xor    %eax,%eax
445f85:	eb 05                	jmp    0x445f8c
445f87:	b8 02 40 00 80       	mov    $0x80004002,%eax
445f8c:	5f                   	pop    %edi
445f8d:	5e                   	pop    %esi
445f8e:	5d                   	pop    %ebp
445f8f:	c2 0c 00             	ret    $0xc
445f92:	cc                   	int3
445f93:	cc                   	int3
445f94:	cc                   	int3
445f95:	cc                   	int3
445f96:	cc                   	int3
445f97:	cc                   	int3
445f98:	cc                   	int3
445f99:	cc                   	int3
445f9a:	cc                   	int3
445f9b:	cc                   	int3
445f9c:	cc                   	int3
445f9d:	cc                   	int3
445f9e:	cc                   	int3
445f9f:	cc                   	int3
445fa0:	6a 00                	push   $0x0
445fa2:	b8 fd 2c 42 00       	mov    $0x422cfd,%eax
445fa7:	e8 c1 96 fd ff       	call   0x41f66d
445fac:	8b 75 08             	mov    0x8(%ebp),%esi
445faf:	83 c8 ff             	or     $0xffffffff,%eax
445fb2:	f0 0f c1 46 08       	lock xadd %eax,0x8(%esi)
445fb7:	48                   	dec    %eax
445fb8:	75 1d                	jne    0x445fd7
445fba:	85 f6                	test   %esi,%esi
445fbc:	74 17                	je     0x445fd5
445fbe:	8b ce                	mov    %esi,%ecx
445fc0:	e8 9e fc ff ff       	call   0x445c63
445fc5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
445fc9:	8b 0d 80 0b 45 00    	mov    0x450b80,%ecx
445fcf:	56                   	push   %esi
445fd0:	e8 55 38 fd ff       	call   0x41982a
445fd5:	33 c0                	xor    %eax,%eax
445fd7:	e8 5f 96 fd ff       	call   0x41f63b
445fdc:	c2 04 00             	ret    $0x4
445fdf:	cc                   	int3
445fe0:	cc                   	int3
445fe1:	cc                   	int3
445fe2:	cc                   	int3
445fe3:	cc                   	int3
445fe4:	cc                   	int3
445fe5:	cc                   	int3
445fe6:	cc                   	int3
445fe7:	cc                   	int3
445fe8:	cc                   	int3
445fe9:	cc                   	int3
445fea:	cc                   	int3
445feb:	cc                   	int3
445fec:	cc                   	int3
445fed:	cc                   	int3
445fee:	cc                   	int3
445fef:	cc                   	int3
445ff0:	8b ff                	mov    %edi,%edi
445ff2:	55                   	push   %ebp
445ff3:	8b ec                	mov    %esp,%ebp
445ff5:	8b 45 08             	mov    0x8(%ebp),%eax
445ff8:	56                   	push   %esi
445ff9:	ff 75 14             	push   0x14(%ebp)
445ffc:	8b 40 10             	mov    0x10(%eax),%eax
445fff:	ff 75 10             	push   0x10(%ebp)
446002:	ff 75 0c             	push   0xc(%ebp)
446005:	8b 30                	mov    (%eax),%esi
446007:	50                   	push   %eax
446008:	8b 4e 0c             	mov    0xc(%esi),%ecx
44600b:	ff 15 c4 12 45 00    	call   *0x4512c4
446011:	ff 56 0c             	call   *0xc(%esi)
446014:	8b f0                	mov    %eax,%esi
446016:	85 f6                	test   %esi,%esi
446018:	79 0f                	jns    0x446029
44601a:	56                   	push   %esi
44601b:	ff 15 a0 12 45 00    	call   *0x4512a0
446021:	8b c8                	mov    %eax,%ecx
446023:	ff 15 a4 12 45 00    	call   *0x4512a4
446029:	a1 00 f0 44 00       	mov    0x44f000,%eax
44602e:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
446033:	74 20                	je     0x446055
446035:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
446039:	74 1a                	je     0x446055
44603b:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
44603f:	72 14                	jb     0x446055
446041:	56                   	push   %esi
446042:	ff 70 14             	push   0x14(%eax)
446045:	ba bc b3 40 00       	mov    $0x40b3bc,%edx
44604a:	ff 70 10             	push   0x10(%eax)
44604d:	6a 1a                	push   $0x1a
44604f:	59                   	pop    %ecx
446050:	e8 71 a7 fe ff       	call   0x4307c6
446055:	8b c6                	mov    %esi,%eax
446057:	5e                   	pop    %esi
446058:	5d                   	pop    %ebp
446059:	c2 10 00             	ret    $0x10
44605c:	cc                   	int3
44605d:	cc                   	int3
44605e:	cc                   	int3
44605f:	cc                   	int3
446060:	8b ff                	mov    %edi,%edi
446062:	55                   	push   %ebp
446063:	8b ec                	mov    %esp,%ebp
446065:	51                   	push   %ecx
446066:	53                   	push   %ebx
446067:	8b 5d 08             	mov    0x8(%ebp),%ebx
44606a:	8d 45 fc             	lea    -0x4(%ebp),%eax
44606d:	56                   	push   %esi
44606e:	57                   	push   %edi
44606f:	b9 b4 b4 40 00       	mov    $0x40b4b4,%ecx
446074:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
44607b:	8d 7b 10             	lea    0x10(%ebx),%edi
44607e:	57                   	push   %edi
44607f:	68 94 b4 40 00       	push   $0x40b494
446084:	50                   	push   %eax
446085:	e8 49 88 fd ff       	call   0x41e8d3
44608a:	8b f0                	mov    %eax,%esi
44608c:	85 f6                	test   %esi,%esi
44608e:	78 3e                	js     0x4460ce
446090:	8b 07                	mov    (%edi),%eax
446092:	ff 75 14             	push   0x14(%ebp)
446095:	ff 75 10             	push   0x10(%ebp)
446098:	8b 30                	mov    (%eax),%esi
44609a:	ff 75 0c             	push   0xc(%ebp)
44609d:	50                   	push   %eax
44609e:	8b 4e 18             	mov    0x18(%esi),%ecx
4460a1:	ff 15 c4 12 45 00    	call   *0x4512c4
4460a7:	ff 56 18             	call   *0x18(%esi)
4460aa:	8b f0                	mov    %eax,%esi
4460ac:	85 f6                	test   %esi,%esi
4460ae:	78 1e                	js     0x4460ce
4460b0:	8b 0f                	mov    (%edi),%ecx
4460b2:	8d 43 14             	lea    0x14(%ebx),%eax
4460b5:	50                   	push   %eax
4460b6:	68 08 6c 40 00       	push   $0x406c08
4460bb:	51                   	push   %ecx
4460bc:	8b 31                	mov    (%ecx),%esi
4460be:	8b 0e                	mov    (%esi),%ecx
4460c0:	ff 15 c4 12 45 00    	call   *0x4512c4
4460c6:	ff 16                	call   *(%esi)
4460c8:	8b f0                	mov    %eax,%esi
4460ca:	85 f6                	test   %esi,%esi
4460cc:	79 0f                	jns    0x4460dd
4460ce:	56                   	push   %esi
4460cf:	ff 15 a0 12 45 00    	call   *0x4512a0
4460d5:	8b c8                	mov    %eax,%ecx
4460d7:	ff 15 a4 12 45 00    	call   *0x4512a4
4460dd:	a1 00 f0 44 00       	mov    0x44f000,%eax
4460e2:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
4460e7:	74 20                	je     0x446109
4460e9:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4460ed:	74 1a                	je     0x446109
4460ef:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
4460f3:	72 14                	jb     0x446109
4460f5:	56                   	push   %esi
4460f6:	ff 70 14             	push   0x14(%eax)
4460f9:	ba bc b3 40 00       	mov    $0x40b3bc,%edx
4460fe:	ff 70 10             	push   0x10(%eax)
446101:	6a 19                	push   $0x19
446103:	59                   	pop    %ecx
446104:	e8 bd a6 fe ff       	call   0x4307c6
446109:	5f                   	pop    %edi
44610a:	8b c6                	mov    %esi,%eax
44610c:	5e                   	pop    %esi
44610d:	5b                   	pop    %ebx
44610e:	c9                   	leave
44610f:	c2 10 00             	ret    $0x10
446112:	cc                   	int3
446113:	cc                   	int3
446114:	cc                   	int3
446115:	cc                   	int3
446116:	cc                   	int3
446117:	cc                   	int3
446118:	cc                   	int3
446119:	cc                   	int3
44611a:	cc                   	int3
44611b:	cc                   	int3
44611c:	cc                   	int3
44611d:	cc                   	int3
44611e:	cc                   	int3
44611f:	cc                   	int3
446120:	8b ff                	mov    %edi,%edi
446122:	55                   	push   %ebp
446123:	8b ec                	mov    %esp,%ebp
446125:	8b 55 08             	mov    0x8(%ebp),%edx
446128:	57                   	push   %edi
446129:	8b f9                	mov    %ecx,%edi
44612b:	c7 07 84 54 40 00    	movl   $0x405484,(%edi)
446131:	8b 42 04             	mov    0x4(%edx),%eax
446134:	89 47 04             	mov    %eax,0x4(%edi)
446137:	8b 4a 08             	mov    0x8(%edx),%ecx
44613a:	83 67 0c 00          	andl   $0x0,0xc(%edi)
44613e:	89 4f 08             	mov    %ecx,0x8(%edi)
446141:	85 c9                	test   %ecx,%ecx
446143:	74 12                	je     0x446157
446145:	8b 01                	mov    (%ecx),%eax
446147:	56                   	push   %esi
446148:	51                   	push   %ecx
446149:	8b 70 04             	mov    0x4(%eax),%esi
44614c:	8b ce                	mov    %esi,%ecx
44614e:	ff 15 c4 12 45 00    	call   *0x4512c4
446154:	ff d6                	call   *%esi
446156:	5e                   	pop    %esi
446157:	8b c7                	mov    %edi,%eax
446159:	5f                   	pop    %edi
44615a:	5d                   	pop    %ebp
44615b:	c2 04 00             	ret    $0x4
44615e:	cc                   	int3
44615f:	cc                   	int3
446160:	8b ff                	mov    %edi,%edi
446162:	57                   	push   %edi
446163:	8b f9                	mov    %ecx,%edi
446165:	8b 4f 08             	mov    0x8(%edi),%ecx
446168:	c7 07 84 54 40 00    	movl   $0x405484,(%edi)
44616e:	85 c9                	test   %ecx,%ecx
446170:	74 12                	je     0x446184
446172:	8b 01                	mov    (%ecx),%eax
446174:	56                   	push   %esi
446175:	51                   	push   %ecx
446176:	8b 70 08             	mov    0x8(%eax),%esi
446179:	8b ce                	mov    %esi,%ecx
44617b:	ff 15 c4 12 45 00    	call   *0x4512c4
446181:	ff d6                	call   *%esi
446183:	5e                   	pop    %esi
446184:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
446188:	74 09                	je     0x446193
44618a:	ff 77 0c             	push   0xc(%edi)
44618d:	ff 15 84 10 45 00    	call   *0x451084
446193:	5f                   	pop    %edi
446194:	c3                   	ret
446195:	cc                   	int3
446196:	cc                   	int3
446197:	cc                   	int3
446198:	cc                   	int3
446199:	cc                   	int3
44619a:	cc                   	int3
44619b:	cc                   	int3
44619c:	cc                   	int3
44619d:	cc                   	int3
44619e:	cc                   	int3
44619f:	cc                   	int3
4461a0:	8b ff                	mov    %edi,%edi
4461a2:	55                   	push   %ebp
4461a3:	8b ec                	mov    %esp,%ebp
4461a5:	56                   	push   %esi
4461a6:	8b f1                	mov    %ecx,%esi
4461a8:	e8 b3 ff ff ff       	call   0x446160
4461ad:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4461b1:	74 07                	je     0x4461ba
4461b3:	56                   	push   %esi
4461b4:	e8 11 60 fc ff       	call   0x40c1ca
4461b9:	59                   	pop    %ecx
4461ba:	8b c6                	mov    %esi,%eax
4461bc:	5e                   	pop    %esi
4461bd:	5d                   	pop    %ebp
4461be:	c2 04 00             	ret    $0x4
4461c1:	8b ff                	mov    %edi,%edi
4461c3:	55                   	push   %ebp
4461c4:	8b ec                	mov    %esp,%ebp
4461c6:	6a ff                	push   $0xffffffff
4461c8:	68 16 3a 42 00       	push   $0x423a16
4461cd:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4461d3:	50                   	push   %eax
4461d4:	56                   	push   %esi
4461d5:	57                   	push   %edi
4461d6:	a1 54 02 45 00       	mov    0x450254,%eax
4461db:	33 c5                	xor    %ebp,%eax
4461dd:	50                   	push   %eax
4461de:	8d 45 f4             	lea    -0xc(%ebp),%eax
4461e1:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4461e7:	8b f1                	mov    %ecx,%esi
4461e9:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4461ed:	74 24                	je     0x446213
4461ef:	8b 7e 04             	mov    0x4(%esi),%edi
4461f2:	ff 15 74 10 45 00    	call   *0x451074
4461f8:	3b f8                	cmp    %eax,%edi
4461fa:	74 17                	je     0x446213
4461fc:	57                   	push   %edi
4461fd:	ff 15 6c 10 45 00    	call   *0x45106c
446203:	85 c0                	test   %eax,%eax
446205:	74 06                	je     0x44620d
446207:	83 66 04 00          	andl   $0x0,0x4(%esi)
44620b:	eb 06                	jmp    0x446213
44620d:	ff 15 54 10 45 00    	call   *0x451054
446213:	8b 4d f4             	mov    -0xc(%ebp),%ecx
446216:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
44621d:	59                   	pop    %ecx
44621e:	5f                   	pop    %edi
44621f:	5e                   	pop    %esi
446220:	c9                   	leave
446221:	c3                   	ret
446222:	8b ff                	mov    %edi,%edi
446224:	55                   	push   %ebp
446225:	8b ec                	mov    %esp,%ebp
446227:	83 ec 10             	sub    $0x10,%esp
44622a:	51                   	push   %ecx
44622b:	ff 15 1c 30 45 00    	call   *0x45301c
446231:	85 c0                	test   %eax,%eax
446233:	79 20                	jns    0x446255
446235:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
446239:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
44623d:	89 45 f4             	mov    %eax,-0xc(%ebp)
446240:	8d 45 f0             	lea    -0x10(%ebp),%eax
446243:	68 54 d1 44 00       	push   $0x44d154
446248:	50                   	push   %eax
446249:	c7 45 f0 84 54 40 00 	movl   $0x405484,-0x10(%ebp)
446250:	e8 e0 93 fd ff       	call   0x41f635
446255:	c9                   	leave
446256:	c3                   	ret
446257:	8b ff                	mov    %edi,%edi
446259:	55                   	push   %ebp
44625a:	8b ec                	mov    %esp,%ebp
44625c:	83 ec 68             	sub    $0x68,%esp
44625f:	a1 54 02 45 00       	mov    0x450254,%eax
446264:	33 c5                	xor    %ebp,%eax
446266:	89 45 fc             	mov    %eax,-0x4(%ebp)
446269:	8b 45 10             	mov    0x10(%ebp),%eax
44626c:	53                   	push   %ebx
44626d:	56                   	push   %esi
44626e:	57                   	push   %edi
44626f:	8b 7d 0c             	mov    0xc(%ebp),%edi
446272:	8b f1                	mov    %ecx,%esi
446274:	89 55 e0             	mov    %edx,-0x20(%ebp)
446277:	33 d2                	xor    %edx,%edx
446279:	89 75 bc             	mov    %esi,-0x44(%ebp)
44627c:	8b da                	mov    %edx,%ebx
44627e:	89 45 b8             	mov    %eax,-0x48(%ebp)
446281:	89 55 ec             	mov    %edx,-0x14(%ebp)
446284:	89 55 e8             	mov    %edx,-0x18(%ebp)
446287:	89 55 d4             	mov    %edx,-0x2c(%ebp)
44628a:	89 55 d0             	mov    %edx,-0x30(%ebp)
44628d:	89 55 cc             	mov    %edx,-0x34(%ebp)
446290:	89 55 e4             	mov    %edx,-0x1c(%ebp)
446293:	39 17                	cmp    %edx,(%edi)
446295:	0f 84 32 01 00 00    	je     0x4463cd
44629b:	8d 45 d8             	lea    -0x28(%ebp),%eax
44629e:	c7 45 c0 14 00 00 00 	movl   $0x14,-0x40(%ebp)
4462a5:	50                   	push   %eax
4462a6:	52                   	push   %edx
4462a7:	8d 45 dc             	lea    -0x24(%ebp),%eax
4462aa:	89 55 c4             	mov    %edx,-0x3c(%ebp)
4462ad:	50                   	push   %eax
4462ae:	52                   	push   %edx
4462af:	8d 45 c8             	lea    -0x38(%ebp),%eax
4462b2:	89 55 c8             	mov    %edx,-0x38(%ebp)
4462b5:	50                   	push   %eax
4462b6:	52                   	push   %edx
4462b7:	8d 45 c4             	lea    -0x3c(%ebp),%eax