4211dd:	74 0a                	je     0x4211e9
4211df:	8b 40 20             	mov    0x20(%eax),%eax
4211e2:	8b 18                	mov    (%eax),%ebx
4211e4:	ff 53 1c             	call   *0x1c(%ebx)
4211e7:	5b                   	pop    %ebx
4211e8:	c3                   	ret
4211e9:	e8 1a 23 fe ff       	call   0x403508
4211ee:	5b                   	pop    %ebx
4211ef:	c3                   	ret
4211f0:	55                   	push   %ebp
4211f1:	8b ec                	mov    %esp,%ebp
4211f3:	5d                   	pop    %ebp
4211f4:	c2 04 00             	ret    $0x4
4211f7:	90                   	nop
4211f8:	55                   	push   %ebp
4211f9:	8b ec                	mov    %esp,%ebp
4211fb:	53                   	push   %ebx
4211fc:	56                   	push   %esi
4211fd:	57                   	push   %edi
4211fe:	8b 7d 10             	mov    0x10(%ebp),%edi
421201:	8b 75 0c             	mov    0xc(%ebp),%esi
421204:	8b 5d 08             	mov    0x8(%ebp),%ebx
421207:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
42120b:	75 1a                	jne    0x421227
42120d:	8b cf                	mov    %edi,%ecx
42120f:	8b d6                	mov    %esi,%edx
421211:	8b c3                	mov    %ebx,%eax
421213:	e8 5c 21 fe ff       	call   0x403374
421218:	84 c0                	test   %al,%al
42121a:	74 04                	je     0x421220
42121c:	33 c0                	xor    %eax,%eax
42121e:	eb 11                	jmp    0x421231
421220:	b8 02 40 00 80       	mov    $0x80004002,%eax
421225:	eb 0a                	jmp    0x421231
421227:	57                   	push   %edi
421228:	56                   	push   %esi
421229:	8b 43 20             	mov    0x20(%ebx),%eax
42122c:	50                   	push   %eax
42122d:	8b 00                	mov    (%eax),%eax
42122f:	ff 10                	call   *(%eax)
421231:	5f                   	pop    %edi
421232:	5e                   	pop    %esi
421233:	5b                   	pop    %ebx
421234:	5d                   	pop    %ebp
421235:	c2 0c 00             	ret    $0xc
421238:	55                   	push   %ebp
421239:	8b ec                	mov    %esp,%ebp
42123b:	8b 45 08             	mov    0x8(%ebp),%eax
42123e:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
421242:	75 05                	jne    0x421249
421244:	83 c8 ff             	or     $0xffffffff,%eax
421247:	eb 09                	jmp    0x421252
421249:	8b 40 20             	mov    0x20(%eax),%eax
42124c:	50                   	push   %eax
42124d:	8b 00                	mov    (%eax),%eax
42124f:	ff 50 04             	call   *0x4(%eax)
421252:	5d                   	pop    %ebp
421253:	c2 04 00             	ret    $0x4
421256:	8b c0                	mov    %eax,%eax
421258:	55                   	push   %ebp
421259:	8b ec                	mov    %esp,%ebp
42125b:	8b 45 08             	mov    0x8(%ebp),%eax
42125e:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
421262:	75 05                	jne    0x421269
421264:	83 c8 ff             	or     $0xffffffff,%eax
421267:	eb 09                	jmp    0x421272
421269:	8b 40 20             	mov    0x20(%eax),%eax
42126c:	50                   	push   %eax
42126d:	8b 00                	mov    (%eax),%eax
42126f:	ff 50 08             	call   *0x8(%eax)
421272:	5d                   	pop    %ebp
421273:	c2 04 00             	ret    $0x4
421276:	8b c0                	mov    %eax,%eax
421278:	c3                   	ret
421279:	8d 40 00             	lea    0x0(%eax),%eax
42127c:	53                   	push   %ebx
42127d:	56                   	push   %esi
42127e:	57                   	push   %edi
42127f:	84 d2                	test   %dl,%dl
421281:	74 08                	je     0x42128b
421283:	83 c4 f0             	add    $0xfffffff0,%esp
421286:	e8 99 23 fe ff       	call   0x403624
42128b:	8b f1                	mov    %ecx,%esi
42128d:	8b da                	mov    %edx,%ebx
42128f:	8b f8                	mov    %eax,%edi
421291:	33 d2                	xor    %edx,%edx
421293:	8b c7                	mov    %edi,%eax
421295:	e8 f6 1f fe ff       	call   0x403290
42129a:	8b d6                	mov    %esi,%edx
42129c:	8b c7                	mov    %edi,%eax
42129e:	8b 08                	mov    (%eax),%ecx
4212a0:	ff 11                	call   *(%ecx)
4212a2:	8b c7                	mov    %edi,%eax
4212a4:	84 db                	test   %bl,%bl
4212a6:	74 0f                	je     0x4212b7
4212a8:	e8 cf 23 fe ff       	call   0x40367c
4212ad:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4212b4:	83 c4 0c             	add    $0xc,%esp
4212b7:	8b c7                	mov    %edi,%eax
4212b9:	5f                   	pop    %edi
4212ba:	5e                   	pop    %esi
4212bb:	5b                   	pop    %ebx
4212bc:	c3                   	ret
4212bd:	8d 40 00             	lea    0x0(%eax),%eax
4212c0:	c3                   	ret
4212c1:	8d 40 00             	lea    0x0(%eax),%eax
4212c4:	53                   	push   %ebx
4212c5:	56                   	push   %esi
4212c6:	e8 c1 23 fe ff       	call   0x40368c
4212cb:	8b da                	mov    %edx,%ebx
4212cd:	8b f0                	mov    %eax,%esi
4212cf:	8b 46 10             	mov    0x10(%esi),%eax
4212d2:	85 c0                	test   %eax,%eax
4212d4:	74 07                	je     0x4212dd
4212d6:	8b d6                	mov    %esi,%edx
4212d8:	e8 17 02 00 00       	call   0x4214f4
4212dd:	8b d3                	mov    %ebx,%edx
4212df:	80 e2 fc             	and    $0xfc,%dl
4212e2:	8b c6                	mov    %esi,%eax
4212e4:	e8 c7 1f fe ff       	call   0x4032b0
4212e9:	84 db                	test   %bl,%bl
4212eb:	7e 07                	jle    0x4212f4
4212ed:	8b c6                	mov    %esi,%eax
4212ef:	e8 80 23 fe ff       	call   0x403674
4212f4:	5e                   	pop    %esi
4212f5:	5b                   	pop    %ebx
4212f6:	c3                   	ret
4212f7:	90                   	nop
4212f8:	53                   	push   %ebx
4212f9:	66 83 78 0a 00       	cmpw   $0x0,0xa(%eax)
4212fe:	74 0b                	je     0x42130b
421300:	8b d8                	mov    %eax,%ebx
421302:	8b 50 10             	mov    0x10(%eax),%edx
421305:	8b 43 0c             	mov    0xc(%ebx),%eax
421308:	ff 53 08             	call   *0x8(%ebx)
42130b:	5b                   	pop    %ebx
42130c:	c3                   	ret
42130d:	8d 40 00             	lea    0x0(%eax),%eax
421310:	53                   	push   %ebx
421311:	56                   	push   %esi
421312:	8b d8                	mov    %eax,%ebx
421314:	8b 43 10             	mov    0x10(%ebx),%eax
421317:	e8 18 02 00 00       	call   0x421534
42131c:	8b 43 10             	mov    0x10(%ebx),%eax
42131f:	66 be ef ff          	mov    $0xffef,%si
421323:	e8 94 21 fe ff       	call   0x4034bc
421328:	5e                   	pop    %esi
421329:	5b                   	pop    %ebx
42132a:	c3                   	ret
42132b:	90                   	nop
42132c:	53                   	push   %ebx
42132d:	56                   	push   %esi
42132e:	8b f2                	mov    %edx,%esi
421330:	8b d8                	mov    %eax,%ebx
421332:	8b 43 10             	mov    0x10(%ebx),%eax
421335:	3b f0                	cmp    %eax,%esi
421337:	74 1b                	je     0x421354
421339:	85 c0                	test   %eax,%eax
42133b:	74 07                	je     0x421344
42133d:	8b d3                	mov    %ebx,%edx
42133f:	e8 b0 01 00 00       	call   0x4214f4
421344:	89 73 10             	mov    %esi,0x10(%ebx)
421347:	85 f6                	test   %esi,%esi
421349:	74 09                	je     0x421354
42134b:	8b d3                	mov    %ebx,%edx
42134d:	8b c6                	mov    %esi,%eax
42134f:	e8 94 01 00 00       	call   0x4214e8
421354:	5e                   	pop    %esi
421355:	5b                   	pop    %ebx
421356:	c3                   	ret
421357:	90                   	nop
421358:	b0 01                	mov    $0x1,%al
42135a:	c3                   	ret
42135b:	90                   	nop
42135c:	55                   	push   %ebp
42135d:	8b ec                	mov    %esp,%ebp
42135f:	5d                   	pop    %ebp
421360:	c2 08 00             	ret    $0x8
421363:	90                   	nop
421364:	8b 40 10             	mov    0x10(%eax),%eax
421367:	8b 10                	mov    (%eax),%edx
421369:	ff 52 44             	call   *0x44(%edx)
42136c:	c3                   	ret
42136d:	8d 40 00             	lea    0x0(%eax),%eax
421370:	53                   	push   %ebx
421371:	56                   	push   %esi
421372:	84 d2                	test   %dl,%dl
421374:	74 08                	je     0x42137e
421376:	83 c4 f0             	add    $0xfffffff0,%esp
421379:	e8 a6 22 fe ff       	call   0x403624
42137e:	8b da                	mov    %edx,%ebx
421380:	8b f0                	mov    %eax,%esi
421382:	33 d2                	xor    %edx,%edx
421384:	8b c6                	mov    %esi,%eax
421386:	e8 dd f6 ff ff       	call   0x420a68
42138b:	b2 01                	mov    $0x1,%dl
42138d:	a1 d8 5f 41 00       	mov    0x415fd8,%eax
421392:	e8 f9 1e fe ff       	call   0x403290
421397:	89 46 50             	mov    %eax,0x50(%esi)
42139a:	8b c6                	mov    %esi,%eax
42139c:	84 db                	test   %bl,%bl
42139e:	74 0f                	je     0x4213af
4213a0:	e8 d7 22 fe ff       	call   0x40367c
4213a5:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4213ac:	83 c4 0c             	add    $0xc,%esp
4213af:	8b c6                	mov    %esi,%eax
4213b1:	5e                   	pop    %esi
4213b2:	5b                   	pop    %ebx
4213b3:	c3                   	ret
4213b4:	53                   	push   %ebx
4213b5:	56                   	push   %esi
4213b6:	57                   	push   %edi
4213b7:	e8 d0 22 fe ff       	call   0x40368c
4213bc:	8b da                	mov    %edx,%ebx
4213be:	8b f8                	mov    %eax,%edi
4213c0:	8b d3                	mov    %ebx,%edx
4213c2:	80 e2 fc             	and    $0xfc,%dl
4213c5:	8b c7                	mov    %edi,%eax
4213c7:	e8 e8 f6 ff ff       	call   0x420ab4
4213cc:	8b 47 30             	mov    0x30(%edi),%eax
4213cf:	85 c0                	test   %eax,%eax
4213d1:	74 19                	je     0x4213ec
4213d3:	8b d7                	mov    %edi,%edx
4213d5:	e8 8e f9 ff ff       	call   0x420d68
4213da:	eb 10                	jmp    0x4213ec
4213dc:	8b c6                	mov    %esi,%eax
4213de:	e8 89 74 ff ff       	call   0x41886c
4213e3:	8b d0                	mov    %eax,%edx
4213e5:	8b c7                	mov    %edi,%eax
4213e7:	e8 08 01 00 00       	call   0x4214f4
4213ec:	8b 77 50             	mov    0x50(%edi),%esi
4213ef:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
4213f3:	7f e7                	jg     0x4213dc
4213f5:	8d 47 50             	lea    0x50(%edi),%eax
4213f8:	e8 db c0 fe ff       	call   0x40d4d8
4213fd:	84 db                	test   %bl,%bl
4213ff:	7e 07                	jle    0x421408
421401:	8b c7                	mov    %edi,%eax
421403:	e8 6c 22 fe ff       	call   0x403674
421408:	5f                   	pop    %edi
421409:	5e                   	pop    %esi
42140a:	5b                   	pop    %ebx
42140b:	c3                   	ret
42140c:	33 c0                	xor    %eax,%eax
42140e:	c3                   	ret
42140f:	90                   	nop
421410:	c3                   	ret
421411:	8d 40 00             	lea    0x0(%eax),%eax
421414:	53                   	push   %ebx
421415:	56                   	push   %esi
421416:	57                   	push   %edi
421417:	8b d9                	mov    %ecx,%ebx
421419:	8b f2                	mov    %edx,%esi
42141b:	8b f8                	mov    %eax,%edi
42141d:	8b cb                	mov    %ebx,%ecx
42141f:	8b d6                	mov    %esi,%edx
421421:	8b c7                	mov    %edi,%eax
421423:	e8 5c f9 ff ff       	call   0x420d84
421428:	80 fb 01             	cmp    $0x1,%bl
42142b:	75 0a                	jne    0x421437
42142d:	3b 77 30             	cmp    0x30(%edi),%esi
421430:	75 05                	jne    0x421437
421432:	33 c0                	xor    %eax,%eax
421434:	89 47 30             	mov    %eax,0x30(%edi)
421437:	5f                   	pop    %edi
421438:	5e                   	pop    %esi
421439:	5b                   	pop    %ebx
42143a:	c3                   	ret
42143b:	90                   	nop
42143c:	c3                   	ret
42143d:	8d 40 00             	lea    0x0(%eax),%eax
421440:	53                   	push   %ebx
421441:	66 83 78 42 00       	cmpw   $0x0,0x42(%eax)
421446:	74 0e                	je     0x421456
421448:	8b d8                	mov    %eax,%ebx
42144a:	8b d0                	mov    %eax,%edx
42144c:	8b 43 44             	mov    0x44(%ebx),%eax
42144f:	ff 53 40             	call   *0x40(%ebx)
421452:	b0 01                	mov    $0x1,%al
421454:	5b                   	pop    %ebx
421455:	c3                   	ret
421456:	33 c0                	xor    %eax,%eax
421458:	5b                   	pop    %ebx
421459:	c3                   	ret
42145a:	8b c0                	mov    %eax,%eax
42145c:	53                   	push   %ebx
42145d:	66 83 78 4a 00       	cmpw   $0x0,0x4a(%eax)
421462:	74 0e                	je     0x421472
421464:	8b d8                	mov    %eax,%ebx
421466:	8b d0                	mov    %eax,%edx
421468:	8b 43 4c             	mov    0x4c(%ebx),%eax
42146b:	ff 53 48             	call   *0x48(%ebx)
42146e:	b0 01                	mov    $0x1,%al
421470:	5b                   	pop    %ebx
421471:	c3                   	ret
421472:	33 c0                	xor    %eax,%eax
421474:	5b                   	pop    %ebx
421475:	c3                   	ret
421476:	8b c0                	mov    %eax,%eax
421478:	55                   	push   %ebp
421479:	8b ec                	mov    %esp,%ebp
42147b:	53                   	push   %ebx
42147c:	56                   	push   %esi
42147d:	57                   	push   %edi
42147e:	8b d8                	mov    %eax,%ebx
421480:	8b 45 08             	mov    0x8(%ebp),%eax
421483:	3b 43 40             	cmp    0x40(%ebx),%eax
421486:	75 08                	jne    0x421490
421488:	8b 45 0c             	mov    0xc(%ebp),%eax
42148b:	3b 43 44             	cmp    0x44(%ebx),%eax
42148e:	74 3a                	je     0x4214ca
421490:	8b 43 50             	mov    0x50(%ebx),%eax
421493:	8b 70 08             	mov    0x8(%eax),%esi
421496:	4e                   	dec    %esi
421497:	85 f6                	test   %esi,%esi
421499:	7c 1c                	jl     0x4214b7
42149b:	46                   	inc    %esi
42149c:	33 ff                	xor    %edi,%edi
42149e:	ff 75 0c             	push   0xc(%ebp)
4214a1:	ff 75 08             	push   0x8(%ebp)
4214a4:	8b d7                	mov    %edi,%edx
4214a6:	8b 43 50             	mov    0x50(%ebx),%eax
4214a9:	e8 d6 72 ff ff       	call   0x418784
4214ae:	8b 10                	mov    (%eax),%edx
4214b0:	ff 52 10             	call   *0x10(%edx)
4214b3:	47                   	inc    %edi
4214b4:	4e                   	dec    %esi
4214b5:	75 e7                	jne    0x42149e
4214b7:	8b 45 08             	mov    0x8(%ebp),%eax
4214ba:	89 43 40             	mov    %eax,0x40(%ebx)
4214bd:	8b 45 0c             	mov    0xc(%ebp),%eax
4214c0:	89 43 44             	mov    %eax,0x44(%ebx)
4214c3:	8b c3                	mov    %ebx,%eax
4214c5:	8b 10                	mov    (%eax),%edx
4214c7:	ff 52 30             	call   *0x30(%edx)
4214ca:	5f                   	pop    %edi
4214cb:	5e                   	pop    %esi
4214cc:	5b                   	pop    %ebx
4214cd:	5d                   	pop    %ebp
4214ce:	c2 08 00             	ret    $0x8
4214d1:	8d 40 00             	lea    0x0(%eax),%eax
4214d4:	53                   	push   %ebx
4214d5:	66 83 78 3a 00       	cmpw   $0x0,0x3a(%eax)
4214da:	74 0a                	je     0x4214e6
4214dc:	8b d8                	mov    %eax,%ebx
4214de:	8b d0                	mov    %eax,%edx
4214e0:	8b 43 3c             	mov    0x3c(%ebx),%eax
4214e3:	ff 53 38             	call   *0x38(%ebx)
4214e6:	5b                   	pop    %ebx
4214e7:	c3                   	ret