4381eb:	8b 56 14             	mov    0x14(%esi),%edx
4381ee:	85 d2                	test   %edx,%edx
4381f0:	74 6b                	je     0x43825d
4381f2:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
4381f6:	75 65                	jne    0x43825d
4381f8:	8b 42 18             	mov    0x18(%edx),%eax
4381fb:	89 46 14             	mov    %eax,0x14(%esi)
4381fe:	89 72 18             	mov    %esi,0x18(%edx)
438201:	8b 46 10             	mov    0x10(%esi),%eax
438204:	89 42 10             	mov    %eax,0x10(%edx)
438207:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
43820e:	89 51 18             	mov    %edx,0x18(%ecx)
438211:	8b 42 14             	mov    0x14(%edx),%eax
438214:	89 41 18             	mov    %eax,0x18(%ecx)
438217:	89 4a 14             	mov    %ecx,0x14(%edx)
43821a:	8b 41 10             	mov    0x10(%ecx),%eax
43821d:	89 42 10             	mov    %eax,0x10(%edx)
438220:	33 c0                	xor    %eax,%eax
438222:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
438229:	39 42 10             	cmp    %eax,0x10(%edx)
43822c:	8b 4a 14             	mov    0x14(%edx),%ecx
43822f:	0f 94 c0             	sete   %al
438232:	89 42 10             	mov    %eax,0x10(%edx)
438235:	85 c9                	test   %ecx,%ecx
438237:	74 0b                	je     0x438244
438239:	33 c0                	xor    %eax,%eax
43823b:	39 41 10             	cmp    %eax,0x10(%ecx)
43823e:	0f 94 c0             	sete   %al
438241:	89 41 10             	mov    %eax,0x10(%ecx)
438244:	8b 4a 18             	mov    0x18(%edx),%ecx
438247:	85 c9                	test   %ecx,%ecx
438249:	74 0b                	je     0x438256
43824b:	33 c0                	xor    %eax,%eax
43824d:	39 41 10             	cmp    %eax,0x10(%ecx)
438250:	0f 94 c0             	sete   %al
438253:	89 41 10             	mov    %eax,0x10(%ecx)
438256:	8b c2                	mov    %edx,%eax
438258:	5e                   	pop    %esi
438259:	5d                   	pop    %ebp
43825a:	c2 04 00             	ret    $0x4
43825d:	8b c1                	mov    %ecx,%eax
43825f:	5e                   	pop    %esi
438260:	5d                   	pop    %ebp
438261:	c2 04 00             	ret    $0x4
438264:	cc                   	int3
438265:	cc                   	int3
438266:	cc                   	int3
438267:	cc                   	int3
438268:	cc                   	int3
438269:	cc                   	int3
43826a:	cc                   	int3
43826b:	cc                   	int3
43826c:	cc                   	int3
43826d:	cc                   	int3
43826e:	cc                   	int3
43826f:	cc                   	int3
438270:	8b ff                	mov    %edi,%edi
438272:	55                   	push   %ebp
438273:	8b ec                	mov    %esp,%ebp
438275:	83 ec 08             	sub    $0x8,%esp
438278:	53                   	push   %ebx
438279:	56                   	push   %esi
43827a:	57                   	push   %edi
43827b:	33 c0                	xor    %eax,%eax
43827d:	c7 45 f8 ff ff ff 7f 	movl   $0x7fffffff,-0x8(%ebp)
438284:	83 cf ff             	or     $0xffffffff,%edi
438287:	89 45 fc             	mov    %eax,-0x4(%ebp)
43828a:	33 f6                	xor    %esi,%esi
43828c:	33 db                	xor    %ebx,%ebx
43828e:	85 c9                	test   %ecx,%ecx
438290:	74 36                	je     0x4382c8
438292:	8b 51 74             	mov    0x74(%ecx),%edx
438295:	8b 41 70             	mov    0x70(%ecx),%eax
438298:	39 55 f8             	cmp    %edx,-0x8(%ebp)
43829b:	72 0b                	jb     0x4382a8
43829d:	77 04                	ja     0x4382a3
43829f:	3b f8                	cmp    %eax,%edi
4382a1:	76 05                	jbe    0x4382a8
4382a3:	8b f8                	mov    %eax,%edi
4382a5:	89 55 f8             	mov    %edx,-0x8(%ebp)
4382a8:	3b da                	cmp    %edx,%ebx
4382aa:	77 12                	ja     0x4382be
4382ac:	72 04                	jb     0x4382b2
4382ae:	3b f0                	cmp    %eax,%esi
4382b0:	77 0c                	ja     0x4382be
4382b2:	8b f0                	mov    %eax,%esi
4382b4:	8b da                	mov    %edx,%ebx
4382b6:	8b 41 7c             	mov    0x7c(%ecx),%eax
4382b9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4382bc:	eb 03                	jmp    0x4382c1
4382be:	8b 45 fc             	mov    -0x4(%ebp),%eax
4382c1:	8b 49 1c             	mov    0x1c(%ecx),%ecx
4382c4:	85 c9                	test   %ecx,%ecx
4382c6:	75 ca                	jne    0x438292
4382c8:	2b f7                	sub    %edi,%esi
4382ca:	5f                   	pop    %edi
4382cb:	03 c6                	add    %esi,%eax
4382cd:	5e                   	pop    %esi
4382ce:	5b                   	pop    %ebx
4382cf:	8b e5                	mov    %ebp,%esp
4382d1:	5d                   	pop    %ebp
4382d2:	c3                   	ret
4382d3:	cc                   	int3
4382d4:	cc                   	int3
4382d5:	cc                   	int3
4382d6:	cc                   	int3
4382d7:	cc                   	int3
4382d8:	cc                   	int3
4382d9:	cc                   	int3
4382da:	cc                   	int3
4382db:	cc                   	int3
4382dc:	cc                   	int3
4382dd:	cc                   	int3
4382de:	cc                   	int3
4382df:	cc                   	int3
4382e0:	8b ff                	mov    %edi,%edi
4382e2:	55                   	push   %ebp
4382e3:	8b ec                	mov    %esp,%ebp
4382e5:	8b 55 08             	mov    0x8(%ebp),%edx
4382e8:	57                   	push   %edi
4382e9:	8b 3a                	mov    (%edx),%edi
4382eb:	8b 42 04             	mov    0x4(%edx),%eax
4382ee:	39 39                	cmp    %edi,(%ecx)
4382f0:	75 17                	jne    0x438309
4382f2:	39 41 04             	cmp    %eax,0x4(%ecx)
4382f5:	75 15                	jne    0x43830c
4382f7:	8b 41 0c             	mov    0xc(%ecx),%eax
4382fa:	3b 42 0c             	cmp    0xc(%edx),%eax
4382fd:	77 1c                	ja     0x43831b
4382ff:	72 13                	jb     0x438314
438301:	8b 41 08             	mov    0x8(%ecx),%eax
438304:	3b 42 08             	cmp    0x8(%edx),%eax
438307:	eb 09                	jmp    0x438312
438309:	39 41 04             	cmp    %eax,0x4(%ecx)
43830c:	77 0d                	ja     0x43831b
43830e:	72 04                	jb     0x438314
438310:	39 39                	cmp    %edi,(%ecx)
438312:	73 07                	jae    0x43831b
438314:	b0 01                	mov    $0x1,%al
438316:	5f                   	pop    %edi
438317:	5d                   	pop    %ebp
438318:	c2 04 00             	ret    $0x4
43831b:	32 c0                	xor    %al,%al
43831d:	5f                   	pop    %edi
43831e:	5d                   	pop    %ebp
43831f:	c2 04 00             	ret    $0x4
438322:	cc                   	int3
438323:	cc                   	int3
438324:	cc                   	int3
438325:	cc                   	int3
438326:	cc                   	int3
438327:	cc                   	int3
438328:	cc                   	int3
438329:	cc                   	int3
43832a:	cc                   	int3
43832b:	cc                   	int3
43832c:	cc                   	int3
43832d:	cc                   	int3
43832e:	cc                   	int3
43832f:	cc                   	int3
438330:	8b 41 04             	mov    0x4(%ecx),%eax
438333:	85 c0                	test   %eax,%eax
438335:	75 08                	jne    0x43833f
438337:	39 41 10             	cmp    %eax,0x10(%ecx)
43833a:	74 10                	je     0x43834c
43833c:	8b 41 08             	mov    0x8(%ecx),%eax
43833f:	8b 40 68             	mov    0x68(%eax),%eax
438342:	25 40 00 04 00       	and    $0x40040,%eax
438347:	83 c8 00             	or     $0x0,%eax
43834a:	75 03                	jne    0x43834f
43834c:	33 c0                	xor    %eax,%eax
43834e:	c3                   	ret
43834f:	b8 01 00 00 00       	mov    $0x1,%eax
438354:	c3                   	ret
438355:	cc                   	int3
438356:	cc                   	int3
438357:	cc                   	int3
438358:	cc                   	int3
438359:	cc                   	int3
43835a:	cc                   	int3
43835b:	cc                   	int3
43835c:	cc                   	int3
43835d:	cc                   	int3
43835e:	cc                   	int3
43835f:	cc                   	int3
438360:	83 e1 0f             	and    $0xf,%ecx
438363:	49                   	dec    %ecx
438364:	83 f9 07             	cmp    $0x7,%ecx
438367:	77 25                	ja     0x43838e
438369:	ff 24 8d 94 83 43 00 	jmp    *0x438394(,%ecx,4)
438370:	b8 48 28 41 00       	mov    $0x412848,%eax
438375:	c3                   	ret
438376:	b8 50 28 41 00       	mov    $0x412850,%eax
43837b:	c3                   	ret
43837c:	b8 58 28 41 00       	mov    $0x412858,%eax
438381:	c3                   	ret
438382:	b8 64 28 41 00       	mov    $0x412864,%eax
438387:	c3                   	ret
438388:	b8 70 28 41 00       	mov    $0x412870,%eax
43838d:	c3                   	ret
43838e:	b8 7c 28 41 00       	mov    $0x41287c,%eax
438393:	c3                   	ret
438394:	70 83                	jo     0x438319
438396:	43                   	inc    %ebx
438397:	00 76 83             	add    %dh,-0x7d(%esi)
43839a:	43                   	inc    %ebx
43839b:	00 7c 83 43          	add    %bh,0x43(%ebx,%eax,4)
43839f:	00 82 83 43 00 8e    	add    %al,-0x71ffbc7d(%edx)
4383a5:	83 43 00 8e          	addl   $0xffffff8e,0x0(%ebx)
4383a9:	83 43 00 8e          	addl   $0xffffff8e,0x0(%ebx)
4383ad:	83 43 00 88          	addl   $0xffffff88,0x0(%ebx)
4383b1:	83 43 00 cc          	addl   $0xffffffcc,0x0(%ebx)
4383b5:	cc                   	int3
4383b6:	cc                   	int3
4383b7:	cc                   	int3
4383b8:	cc                   	int3
4383b9:	cc                   	int3
4383ba:	cc                   	int3
4383bb:	cc                   	int3
4383bc:	cc                   	int3
4383bd:	cc                   	int3
4383be:	cc                   	int3
4383bf:	cc                   	int3
4383c0:	8b ff                	mov    %edi,%edi
4383c2:	55                   	push   %ebp
4383c3:	8b ec                	mov    %esp,%ebp
4383c5:	83 ec 08             	sub    $0x8,%esp
4383c8:	8b d1                	mov    %ecx,%edx
4383ca:	83 7a 08 00          	cmpl   $0x0,0x8(%edx)
4383ce:	56                   	push   %esi
4383cf:	57                   	push   %edi
4383d0:	75 0a                	jne    0x4383dc
4383d2:	33 c0                	xor    %eax,%eax
4383d4:	33 d2                	xor    %edx,%edx
4383d6:	5f                   	pop    %edi
4383d7:	5e                   	pop    %esi
4383d8:	8b e5                	mov    %ebp,%esp
4383da:	5d                   	pop    %ebp
4383db:	c3                   	ret
4383dc:	8b 3a                	mov    (%edx),%edi
4383de:	83 7a 08 00          	cmpl   $0x0,0x8(%edx)
4383e2:	75 12                	jne    0x4383f6
4383e4:	33 f6                	xor    %esi,%esi
4383e6:	33 d2                	xor    %edx,%edx
4383e8:	03 77 70             	add    0x70(%edi),%esi
4383eb:	8b c6                	mov    %esi,%eax
4383ed:	13 57 74             	adc    0x74(%edi),%edx
4383f0:	5f                   	pop    %edi
4383f1:	5e                   	pop    %esi
4383f2:	8b e5                	mov    %ebp,%esp
4383f4:	5d                   	pop    %ebp
4383f5:	c3                   	ret
4383f6:	8b 42 04             	mov    0x4(%edx),%eax
4383f9:	33 c9                	xor    %ecx,%ecx
4383fb:	8b 70 7c             	mov    0x7c(%eax),%esi
4383fe:	03 70 70             	add    0x70(%eax),%esi
438401:	13 48 74             	adc    0x74(%eax),%ecx
438404:	8b 02                	mov    (%edx),%eax
438406:	2b 70 70             	sub    0x70(%eax),%esi
438409:	1b 48 74             	sbb    0x74(%eax),%ecx
43840c:	75 05                	jne    0x438413
43840e:	83 fe ff             	cmp    $0xffffffff,%esi
438411:	72 16                	jb     0x438429
438413:	68 7f 14 00 00       	push   $0x147f
438418:	68 60 19 41 00       	push   $0x411960
43841d:	68 a8 24 41 00       	push   $0x4124a8
438422:	6a 00                	push   $0x0
438424:	e8 e7 01 ff ff       	call   0x428610
438429:	33 d2                	xor    %edx,%edx
43842b:	03 77 70             	add    0x70(%edi),%esi
43842e:	8b c6                	mov    %esi,%eax
438430:	13 57 74             	adc    0x74(%edi),%edx
438433:	5f                   	pop    %edi
438434:	5e                   	pop    %esi
438435:	8b e5                	mov    %ebp,%esp
438437:	5d                   	pop    %ebp
438438:	c3                   	ret
438439:	cc                   	int3
43843a:	cc                   	int3
43843b:	cc                   	int3
43843c:	cc                   	int3
43843d:	cc                   	int3
43843e:	cc                   	int3
43843f:	cc                   	int3
438440:	8b ff                	mov    %edi,%edi
438442:	55                   	push   %ebp
438443:	8b ec                	mov    %esp,%ebp
438445:	8b 55 08             	mov    0x8(%ebp),%edx
438448:	8b 01                	mov    (%ecx),%eax
43844a:	3b 02                	cmp    (%edx),%eax
43844c:	75 1e                	jne    0x43846c
43844e:	8b 41 04             	mov    0x4(%ecx),%eax
438451:	3b 42 04             	cmp    0x4(%edx),%eax
438454:	75 16                	jne    0x43846c
438456:	8b 41 08             	mov    0x8(%ecx),%eax
438459:	3b 42 08             	cmp    0x8(%edx),%eax
43845c:	75 0e                	jne    0x43846c
43845e:	8b 41 0c             	mov    0xc(%ecx),%eax
438461:	3b 42 0c             	cmp    0xc(%edx),%eax
438464:	75 06                	jne    0x43846c
438466:	b0 01                	mov    $0x1,%al
438468:	5d                   	pop    %ebp
438469:	c2 04 00             	ret    $0x4
43846c:	32 c0                	xor    %al,%al
43846e:	5d                   	pop    %ebp
43846f:	c2 04 00             	ret    $0x4
438472:	cc                   	int3
438473:	cc                   	int3
438474:	cc                   	int3
438475:	cc                   	int3
438476:	cc                   	int3
438477:	cc                   	int3
438478:	cc                   	int3
438479:	cc                   	int3
43847a:	cc                   	int3
43847b:	cc                   	int3
43847c:	cc                   	int3
43847d:	cc                   	int3
43847e:	cc                   	int3
43847f:	cc                   	int3
438480:	8b ff                	mov    %edi,%edi
438482:	56                   	push   %esi
438483:	8b f1                	mov    %ecx,%esi
438485:	8b 06                	mov    (%esi),%eax
438487:	25 ff 7f 00 00       	and    $0x7fff,%eax
43848c:	3d ff 7f 00 00       	cmp    $0x7fff,%eax
438491:	75 17                	jne    0x4384aa
438493:	68 4f 1d 00 00       	push   $0x1d4f
438498:	68 44 18 41 00       	push   $0x411844
43849d:	68 18 18 41 00       	push   $0x411818
4384a2:	e8 e9 fd fe ff       	call   0x428290
4384a7:	83 c4 0c             	add    $0xc,%esp
4384aa:	8b 06                	mov    (%esi),%eax
4384ac:	25 00 00 ff ff       	and    $0xffff0000,%eax
4384b1:	3d 00 00 ff ff       	cmp    $0xffff0000,%eax
4384b6:	75 17                	jne    0x4384cf
4384b8:	68 50 1d 00 00       	push   $0x1d50
4384bd:	68 44 18 41 00       	push   $0x411844
4384c2:	68 6c 18 41 00       	push   $0x41186c
4384c7:	e8 c4 fd fe ff       	call   0x428290
4384cc:	83 c4 0c             	add    $0xc,%esp
4384cf:	b8 00 00 ff ff       	mov    $0xffff0000,%eax
4384d4:	f0 0f c1 06          	lock xadd %eax,(%esi)
4384d8:	3d 00 00 02 00       	cmp    $0x20000,%eax
4384dd:	72 54                	jb     0x438533
4384df:	8b 06                	mov    (%esi),%eax
4384e1:	25 ff 7f 00 00       	and    $0x7fff,%eax
4384e6:	3d ff 7f 00 00       	cmp    $0x7fff,%eax
4384eb:	75 17                	jne    0x438504
4384ed:	68 4f 1d 00 00       	push   $0x1d4f