402fea:	56                   	push   %esi
402feb:	8b f1                	mov    %ecx,%esi
402fed:	8b 06                	mov    (%esi),%eax
402fef:	ff 70 04             	push   0x4(%eax)
402ff2:	e8 b6 02 00 00       	call   0x4032ad
402ff7:	8b 06                	mov    (%esi),%eax
402ff9:	6a 00                	push   $0x0
402ffb:	89 40 04             	mov    %eax,0x4(%eax)
402ffe:	8b 06                	mov    (%esi),%eax
403000:	89 00                	mov    %eax,(%eax)
403002:	8b 06                	mov    (%esi),%eax
403004:	89 40 08             	mov    %eax,0x8(%eax)
403007:	ff 36                	push   (%esi)
403009:	83 66 04 00          	andl   $0x0,0x4(%esi)
40300d:	ff 15 10 90 40 00    	call   *0x409010
403013:	5e                   	pop    %esi
403014:	c3                   	ret
403015:	cc                   	int3
403016:	cc                   	int3
403017:	cc                   	int3
403018:	cc                   	int3
403019:	cc                   	int3
40301a:	cc                   	int3
40301b:	cc                   	int3
40301c:	cc                   	int3
40301d:	cc                   	int3
40301e:	cc                   	int3
40301f:	cc                   	int3
403020:	8a 41 04             	mov    0x4(%ecx),%al
403023:	c3                   	ret
403024:	cc                   	int3
403025:	cc                   	int3
403026:	cc                   	int3
403027:	cc                   	int3
403028:	cc                   	int3
403029:	cc                   	int3
40302a:	cc                   	int3
40302b:	cc                   	int3
40302c:	cc                   	int3
40302d:	cc                   	int3
40302e:	cc                   	int3
40302f:	cc                   	int3
403030:	8b ff                	mov    %edi,%edi
403032:	55                   	push   %ebp
403033:	8b ec                	mov    %esp,%ebp
403035:	6a ff                	push   $0xffffffff
403037:	68 3d 52 40 00       	push   $0x40523d
40303c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
403042:	50                   	push   %eax
403043:	56                   	push   %esi
403044:	57                   	push   %edi
403045:	a1 cc 80 40 00       	mov    0x4080cc,%eax
40304a:	33 c5                	xor    %ebp,%eax
40304c:	50                   	push   %eax
40304d:	8d 45 f4             	lea    -0xc(%ebp),%eax
403050:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
403056:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
40305a:	74 13                	je     0x40306f
40305c:	8b 39                	mov    (%ecx),%edi
40305e:	8b 07                	mov    (%edi),%eax
403060:	8b 70 0c             	mov    0xc(%eax),%esi
403063:	8b ce                	mov    %esi,%ecx
403065:	ff 15 5c 91 40 00    	call   *0x40915c
40306b:	8b cf                	mov    %edi,%ecx
40306d:	ff d6                	call   *%esi
40306f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403072:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403079:	59                   	pop    %ecx
40307a:	5f                   	pop    %edi
40307b:	5e                   	pop    %esi
40307c:	c9                   	leave
40307d:	c3                   	ret
40307e:	cc                   	int3
40307f:	cc                   	int3
403080:	cc                   	int3
403081:	cc                   	int3
403082:	cc                   	int3
403083:	cc                   	int3
403084:	cc                   	int3
403085:	cc                   	int3
403086:	cc                   	int3
403087:	cc                   	int3
403088:	cc                   	int3
403089:	cc                   	int3
40308a:	cc                   	int3
40308b:	cc                   	int3
40308c:	cc                   	int3
40308d:	cc                   	int3
40308e:	cc                   	int3
40308f:	cc                   	int3
403090:	8b c1                	mov    %ecx,%eax
403092:	c3                   	ret
403093:	cc                   	int3
403094:	cc                   	int3
403095:	cc                   	int3
403096:	cc                   	int3
403097:	cc                   	int3
403098:	cc                   	int3
403099:	cc                   	int3
40309a:	cc                   	int3
40309b:	cc                   	int3
40309c:	cc                   	int3
40309d:	cc                   	int3
40309e:	cc                   	int3
40309f:	cc                   	int3
4030a0:	6a 08                	push   $0x8
4030a2:	b8 60 52 40 00       	mov    $0x405260,%eax
4030a7:	e8 94 19 00 00       	call   0x404a40
4030ac:	8b f1                	mov    %ecx,%esi
4030ae:	89 75 f0             	mov    %esi,-0x10(%ebp)
4030b1:	8b 45 08             	mov    0x8(%ebp),%eax
4030b4:	8a 5d 0c             	mov    0xc(%ebp),%bl
4030b7:	89 06                	mov    %eax,(%esi)
4030b9:	33 c0                	xor    %eax,%eax
4030bb:	88 46 04             	mov    %al,0x4(%esi)
4030be:	84 db                	test   %bl,%bl
4030c0:	74 07                	je     0x4030c9
4030c2:	e8 e9 00 00 00       	call   0x4031b0
4030c7:	33 c0                	xor    %eax,%eax
4030c9:	50                   	push   %eax
4030ca:	50                   	push   %eax
4030cb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4030ce:	6a 04                	push   $0x4
4030d0:	89 46 08             	mov    %eax,0x8(%esi)
4030d3:	ff 15 00 90 40 00    	call   *0x409000
4030d9:	89 45 ec             	mov    %eax,-0x14(%ebp)
4030dc:	85 c0                	test   %eax,%eax
4030de:	74 05                	je     0x4030e5
4030e0:	83 20 00             	andl   $0x0,(%eax)
4030e3:	eb 02                	jmp    0x4030e7
4030e5:	33 c0                	xor    %eax,%eax
4030e7:	89 46 08             	mov    %eax,0x8(%esi)
4030ea:	85 c0                	test   %eax,%eax
4030ec:	74 36                	je     0x403124
4030ee:	84 db                	test   %bl,%bl
4030f0:	74 32                	je     0x403124
4030f2:	8b 06                	mov    (%esi),%eax
4030f4:	33 c9                	xor    %ecx,%ecx
4030f6:	41                   	inc    %ecx
4030f7:	f0 0f c1 48 08       	lock xadd %ecx,0x8(%eax)
4030fc:	41                   	inc    %ecx
4030fd:	85 c9                	test   %ecx,%ecx
4030ff:	7f 1c                	jg     0x40311d
403101:	6a 00                	push   $0x0
403103:	68 4f 05 00 00       	push   $0x54f
403108:	68 40 24 40 00       	push   $0x402440
40310d:	68 84 01 00 00       	push   $0x184
403112:	68 d8 23 40 00       	push   $0x4023d8
403117:	ff 15 08 90 40 00    	call   *0x409008
40311d:	8b ce                	mov    %esi,%ecx
40311f:	e8 4c 00 00 00       	call   0x403170
403124:	8b c6                	mov    %esi,%eax
403126:	e8 01 19 00 00       	call   0x404a2c
40312b:	c2 08 00             	ret    $0x8
40312e:	cc                   	int3
40312f:	cc                   	int3
403130:	cc                   	int3
403131:	cc                   	int3
403132:	cc                   	int3
403133:	cc                   	int3
403134:	cc                   	int3
403135:	cc                   	int3
403136:	cc                   	int3
403137:	cc                   	int3
403138:	cc                   	int3
403139:	cc                   	int3
40313a:	cc                   	int3
40313b:	cc                   	int3
40313c:	cc                   	int3
40313d:	cc                   	int3
40313e:	cc                   	int3
40313f:	cc                   	int3
403140:	8b ff                	mov    %edi,%edi
403142:	55                   	push   %ebp
403143:	8b ec                	mov    %esp,%ebp
403145:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
403149:	8b 45 08             	mov    0x8(%ebp),%eax
40314c:	56                   	push   %esi
40314d:	8b f1                	mov    %ecx,%esi
40314f:	89 06                	mov    %eax,(%esi)
403151:	c6 46 04 00          	movb   $0x0,0x4(%esi)
403155:	74 05                	je     0x40315c
403157:	e8 54 00 00 00       	call   0x4031b0
40315c:	8b c6                	mov    %esi,%eax
40315e:	5e                   	pop    %esi
40315f:	5d                   	pop    %ebp
403160:	c2 08 00             	ret    $0x8
403163:	cc                   	int3
403164:	cc                   	int3
403165:	cc                   	int3
403166:	cc                   	int3
403167:	cc                   	int3
403168:	cc                   	int3
403169:	cc                   	int3
40316a:	cc                   	int3
40316b:	cc                   	int3
40316c:	cc                   	int3
40316d:	cc                   	int3
40316e:	cc                   	int3
40316f:	cc                   	int3
403170:	8b 51 08             	mov    0x8(%ecx),%edx
403173:	85 d2                	test   %edx,%edx
403175:	75 1c                	jne    0x403193
403177:	52                   	push   %edx
403178:	68 4f 05 00 00       	push   $0x54f
40317d:	68 48 24 40 00       	push   $0x402448
403182:	68 f3 01 00 00       	push   $0x1f3
403187:	68 d8 23 40 00       	push   $0x4023d8
40318c:	ff 15 08 90 40 00    	call   *0x409008
403192:	c3                   	ret
403193:	8b 01                	mov    (%ecx),%eax
403195:	8b 40 04             	mov    0x4(%eax),%eax
403198:	8b 00                	mov    (%eax),%eax
40319a:	8b 00                	mov    (%eax),%eax
40319c:	89 02                	mov    %eax,(%edx)
40319e:	e9 5d 00 00 00       	jmp    0x403200
4031a3:	cc                   	int3
4031a4:	cc                   	int3
4031a5:	cc                   	int3
4031a6:	cc                   	int3
4031a7:	cc                   	int3
4031a8:	cc                   	int3
4031a9:	cc                   	int3
4031aa:	cc                   	int3
4031ab:	cc                   	int3
4031ac:	cc                   	int3
4031ad:	cc                   	int3
4031ae:	cc                   	int3
4031af:	cc                   	int3
4031b0:	8b ff                	mov    %edi,%edi
4031b2:	53                   	push   %ebx
4031b3:	8b d9                	mov    %ecx,%ebx
4031b5:	56                   	push   %esi
4031b6:	57                   	push   %edi
4031b7:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
4031bb:	74 1c                	je     0x4031d9
4031bd:	6a 00                	push   $0x0
4031bf:	68 4f 05 00 00       	push   $0x54f
4031c4:	68 50 24 40 00       	push   $0x402450
4031c9:	68 56 01 00 00       	push   $0x156
4031ce:	68 d8 23 40 00       	push   $0x4023d8
4031d3:	ff 15 08 90 40 00    	call   *0x409008
4031d9:	8b 3b                	mov    (%ebx),%edi
4031db:	8b 07                	mov    (%edi),%eax
4031dd:	8b 70 08             	mov    0x8(%eax),%esi
4031e0:	8b ce                	mov    %esi,%ecx
4031e2:	ff 15 5c 91 40 00    	call   *0x40915c
4031e8:	8b cf                	mov    %edi,%ecx
4031ea:	ff d6                	call   *%esi
4031ec:	5f                   	pop    %edi
4031ed:	5e                   	pop    %esi
4031ee:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
4031f2:	5b                   	pop    %ebx
4031f3:	c3                   	ret
4031f4:	cc                   	int3
4031f5:	cc                   	int3
4031f6:	cc                   	int3
4031f7:	cc                   	int3
4031f8:	cc                   	int3
4031f9:	cc                   	int3
4031fa:	cc                   	int3
4031fb:	cc                   	int3
4031fc:	cc                   	int3
4031fd:	cc                   	int3
4031fe:	cc                   	int3
4031ff:	cc                   	int3
403200:	8b ff                	mov    %edi,%edi
403202:	56                   	push   %esi
403203:	8b f1                	mov    %ecx,%esi
403205:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
403209:	75 1e                	jne    0x403229
40320b:	6a 00                	push   $0x0
40320d:	68 4f 05 00 00       	push   $0x54f
403212:	68 58 24 40 00       	push   $0x402458
403217:	68 fd 01 00 00       	push   $0x1fd
40321c:	68 d8 23 40 00       	push   $0x4023d8
403221:	ff 15 08 90 40 00    	call   *0x409008
403227:	5e                   	pop    %esi
403228:	c3                   	ret
403229:	8b 16                	mov    (%esi),%edx
40322b:	8b 4e 08             	mov    0x8(%esi),%ecx
40322e:	8b 52 04             	mov    0x4(%edx),%edx
403231:	8b 01                	mov    (%ecx),%eax
403233:	3b 02                	cmp    (%edx),%eax
403235:	74 f0                	je     0x403227
403237:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
40323b:	74 ea                	je     0x403227
40323d:	e8 a4 00 00 00       	call   0x4032e6
403242:	eb e5                	jmp    0x403229
403244:	cc                   	int3
403245:	cc                   	int3
403246:	cc                   	int3
403247:	cc                   	int3
403248:	cc                   	int3
403249:	cc                   	int3
40324a:	cc                   	int3
40324b:	cc                   	int3
40324c:	cc                   	int3
40324d:	cc                   	int3
40324e:	cc                   	int3
40324f:	cc                   	int3
403250:	8b 01                	mov    (%ecx),%eax
403252:	8b 40 04             	mov    0x4(%eax),%eax
403255:	c3                   	ret
403256:	6a 00                	push   $0x0
403258:	b8 7b 52 40 00       	mov    $0x40527b,%eax
40325d:	e8 de 17 00 00       	call   0x404a40
403262:	8b d9                	mov    %ecx,%ebx
403264:	8b 75 08             	mov    0x8(%ebp),%esi
403267:	8b fe                	mov    %esi,%edi
403269:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
40326d:	75 36                	jne    0x4032a5
40326f:	ff 77 08             	push   0x8(%edi)
403272:	8b cb                	mov    %ebx,%ecx
403274:	e8 dd ff ff ff       	call   0x403256
403279:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
40327d:	8b 3f                	mov    (%edi),%edi
40327f:	74 13                	je     0x403294
403281:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403285:	6a 00                	push   $0x0
403287:	ff 76 10             	push   0x10(%esi)
40328a:	ff 15 10 90 40 00    	call   *0x409010
403290:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
403294:	6a 00                	push   $0x0
403296:	56                   	push   %esi
403297:	ff 15 10 90 40 00    	call   *0x409010
40329d:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
4032a1:	8b f7                	mov    %edi,%esi
4032a3:	74 ca                	je     0x40326f
4032a5:	e8 82 17 00 00       	call   0x404a2c
4032aa:	c2 04 00             	ret    $0x4
4032ad:	8b ff                	mov    %edi,%edi
4032af:	55                   	push   %ebp
4032b0:	8b ec                	mov    %esp,%ebp
4032b2:	53                   	push   %ebx
4032b3:	56                   	push   %esi
4032b4:	57                   	push   %edi
4032b5:	8b 7d 08             	mov    0x8(%ebp),%edi
4032b8:	8b d9                	mov    %ecx,%ebx
4032ba:	8b f7                	mov    %edi,%esi
4032bc:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
4032c0:	75 1d                	jne    0x4032df
4032c2:	ff 76 08             	push   0x8(%esi)
4032c5:	8b cb                	mov    %ebx,%ecx
4032c7:	e8 e1 ff ff ff       	call   0x4032ad
4032cc:	8b 36                	mov    (%esi),%esi
4032ce:	6a 00                	push   $0x0
4032d0:	57                   	push   %edi
4032d1:	ff 15 10 90 40 00    	call   *0x409010
4032d7:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)