41ff60:	0b fa                	or     %edx,%edi
41ff62:	4b                   	dec    %ebx
41ff63:	3b de                	cmp    %esi,%ebx
41ff65:	7d e0                	jge    0x41ff47
41ff67:	8b c7                	mov    %edi,%eax
41ff69:	5f                   	pop    %edi
41ff6a:	5e                   	pop    %esi
41ff6b:	5b                   	pop    %ebx
41ff6c:	c9                   	leave
41ff6d:	c2 04 00             	ret    $0x4
41ff70:	8b ff                	mov    %edi,%edi
41ff72:	55                   	push   %ebp
41ff73:	8b ec                	mov    %esp,%ebp
41ff75:	83 ec 38             	sub    $0x38,%esp
41ff78:	a1 74 b6 42 00       	mov    0x42b674,%eax
41ff7d:	33 c5                	xor    %ebp,%eax
41ff7f:	89 45 fc             	mov    %eax,-0x4(%ebp)
41ff82:	8b 45 10             	mov    0x10(%ebp),%eax
41ff85:	53                   	push   %ebx
41ff86:	56                   	push   %esi
41ff87:	57                   	push   %edi
41ff88:	89 45 d0             	mov    %eax,-0x30(%ebp)
41ff8b:	8d 7d e8             	lea    -0x18(%ebp),%edi
41ff8e:	33 c0                	xor    %eax,%eax
41ff90:	8b 5d 08             	mov    0x8(%ebp),%ebx
41ff93:	ab                   	stos   %eax,%es:(%edi)
41ff94:	8b 75 0c             	mov    0xc(%ebp),%esi
41ff97:	89 55 d4             	mov    %edx,-0x2c(%ebp)
41ff9a:	89 4d c8             	mov    %ecx,-0x38(%ebp)
41ff9d:	ab                   	stos   %eax,%es:(%edi)
41ff9e:	89 5d e0             	mov    %ebx,-0x20(%ebp)
41ffa1:	89 75 dc             	mov    %esi,-0x24(%ebp)
41ffa4:	ab                   	stos   %eax,%es:(%edi)
41ffa5:	ab                   	stos   %eax,%es:(%edi)
41ffa6:	ab                   	stos   %eax,%es:(%edi)
41ffa7:	8d 45 e8             	lea    -0x18(%ebp),%eax
41ffaa:	33 ff                	xor    %edi,%edi
41ffac:	57                   	push   %edi
41ffad:	57                   	push   %edi
41ffae:	57                   	push   %edi
41ffaf:	57                   	push   %edi
41ffb0:	57                   	push   %edi
41ffb1:	50                   	push   %eax
41ffb2:	6a 21                	push   $0x21
41ffb4:	89 7d e4             	mov    %edi,-0x1c(%ebp)
41ffb7:	89 7d d8             	mov    %edi,-0x28(%ebp)
41ffba:	89 39                	mov    %edi,(%ecx)
41ffbc:	ff 15 f4 c2 42 00    	call   *0x42c2f4
41ffc2:	85 c0                	test   %eax,%eax
41ffc4:	79 05                	jns    0x41ffcb
41ffc6:	6a 07                	push   $0x7
41ffc8:	59                   	pop    %ecx
41ffc9:	cd 29                	int    $0x29
41ffcb:	39 7d d4             	cmp    %edi,-0x2c(%ebp)
41ffce:	0f 86 d2 00 00 00    	jbe    0x4200a6
41ffd4:	ff 34 bb             	push   (%ebx,%edi,4)
41ffd7:	8b d6                	mov    %esi,%edx
41ffd9:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41ffdc:	e8 eb 00 00 00       	call   0x4200cc
41ffe1:	85 c0                	test   %eax,%eax
41ffe3:	79 16                	jns    0x41fffb
41ffe5:	ff 34 bb             	push   (%ebx,%edi,4)
41ffe8:	8b 55 d0             	mov    -0x30(%ebp),%edx
41ffeb:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41ffee:	e8 d9 00 00 00       	call   0x4200cc
41fff3:	85 c0                	test   %eax,%eax
41fff5:	0f 88 a1 00 00 00    	js     0x42009c
41fffb:	8b 55 e4             	mov    -0x1c(%ebp),%edx
41fffe:	33 db                	xor    %ebx,%ebx
420000:	8b 52 14             	mov    0x14(%edx),%edx
420003:	8b f2                	mov    %edx,%esi
420005:	89 55 cc             	mov    %edx,-0x34(%ebp)
420008:	8d 4e 02             	lea    0x2(%esi),%ecx
42000b:	66 8b 06             	mov    (%esi),%ax
42000e:	83 c6 02             	add    $0x2,%esi
420011:	66 3b c3             	cmp    %bx,%ax
420014:	75 f5                	jne    0x42000b
420016:	2b f1                	sub    %ecx,%esi
420018:	d1 fe                	sar    $1,%esi
42001a:	8b c6                	mov    %esi,%eax
42001c:	74 15                	je     0x420033
42001e:	8d 0c 72             	lea    (%edx,%esi,2),%ecx
420021:	66 83 39 2e          	cmpw   $0x2e,(%ecx)
420025:	74 0a                	je     0x420031
420027:	83 e9 02             	sub    $0x2,%ecx
42002a:	83 e8 01             	sub    $0x1,%eax
42002d:	75 f2                	jne    0x420021
42002f:	eb 02                	jmp    0x420033
420031:	8b f0                	mov    %eax,%esi
420033:	56                   	push   %esi
420034:	ff b3 a0 13 40 00    	push   0x4013a0(%ebx)
42003a:	52                   	push   %edx
42003b:	ff 15 34 c3 42 00    	call   *0x42c334
420041:	83 c4 0c             	add    $0xc,%esp
420044:	85 c0                	test   %eax,%eax
420046:	74 4e                	je     0x420096
420048:	8b 55 cc             	mov    -0x34(%ebp),%edx
42004b:	83 c3 04             	add    $0x4,%ebx
42004e:	83 fb 30             	cmp    $0x30,%ebx
420051:	72 e0                	jb     0x420033
420053:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
420056:	8d 04 36             	lea    (%esi,%esi,1),%eax
420059:	6a 00                	push   $0x0
42005b:	50                   	push   %eax
42005c:	ff 73 14             	push   0x14(%ebx)
42005f:	ff 75 e8             	push   -0x18(%ebp)
420062:	ff 15 f8 c2 42 00    	call   *0x42c2f8
420068:	85 c0                	test   %eax,%eax
42006a:	79 05                	jns    0x420071
42006c:	6a 07                	push   $0x7
42006e:	59                   	pop    %ecx
42006f:	cd 29                	int    $0x29
420071:	8b 45 e0             	mov    -0x20(%ebp),%eax
420074:	6a 00                	push   $0x0
420076:	6a 04                	push   $0x4
420078:	8b 04 b8             	mov    (%eax,%edi,4),%eax
42007b:	2b 03                	sub    (%ebx),%eax
42007d:	89 45 d8             	mov    %eax,-0x28(%ebp)
420080:	8d 45 d8             	lea    -0x28(%ebp),%eax
420083:	50                   	push   %eax
420084:	ff 75 e8             	push   -0x18(%ebp)
420087:	ff 15 f8 c2 42 00    	call   *0x42c2f8
42008d:	85 c0                	test   %eax,%eax
42008f:	79 05                	jns    0x420096
420091:	6a 07                	push   $0x7
420093:	59                   	pop    %ecx
420094:	cd 29                	int    $0x29
420096:	8b 5d e0             	mov    -0x20(%ebp),%ebx
420099:	8b 75 dc             	mov    -0x24(%ebp),%esi
42009c:	47                   	inc    %edi
42009d:	3b 7d d4             	cmp    -0x2c(%ebp),%edi
4200a0:	0f 82 2e ff ff ff    	jb     0x41ffd4
4200a6:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4200a9:	e8 35 07 00 00       	call   0x4207e3
4200ae:	8b 4d c8             	mov    -0x38(%ebp),%ecx
4200b1:	8d 55 ec             	lea    -0x14(%ebp),%edx
4200b4:	e8 d9 fb ff ff       	call   0x41fc92
4200b9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4200bc:	33 c0                	xor    %eax,%eax
4200be:	5f                   	pop    %edi
4200bf:	5e                   	pop    %esi
4200c0:	33 cd                	xor    %ebp,%ecx
4200c2:	5b                   	pop    %ebx
4200c3:	e8 18 7a 00 00       	call   0x427ae0
4200c8:	c9                   	leave
4200c9:	c2 0c 00             	ret    $0xc
4200cc:	8b ff                	mov    %edi,%edi
4200ce:	55                   	push   %ebp
4200cf:	8b ec                	mov    %esp,%ebp
4200d1:	51                   	push   %ecx
4200d2:	51                   	push   %ecx
4200d3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4200d7:	53                   	push   %ebx
4200d8:	56                   	push   %esi
4200d9:	33 f6                	xor    %esi,%esi
4200db:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4200de:	57                   	push   %edi
4200df:	39 72 08             	cmp    %esi,0x8(%edx)
4200e2:	76 56                	jbe    0x42013a
4200e4:	8b 5d 08             	mov    0x8(%ebp),%ebx
4200e7:	8b 02                	mov    (%edx),%eax
4200e9:	33 c9                	xor    %ecx,%ecx
4200eb:	33 ff                	xor    %edi,%edi
4200ed:	39 4a 0c             	cmp    %ecx,0xc(%edx)
4200f0:	74 1a                	je     0x42010c
4200f2:	39 72 14             	cmp    %esi,0x14(%edx)
4200f5:	77 15                	ja     0x42010c
4200f7:	8b 42 0c             	mov    0xc(%edx),%eax
4200fa:	8b 7a 10             	mov    0x10(%edx),%edi
4200fd:	8b 4a 14             	mov    0x14(%edx),%ecx
420100:	eb 0a                	jmp    0x42010c
420102:	85 c0                	test   %eax,%eax
420104:	74 1c                	je     0x420122
420106:	8b f8                	mov    %eax,%edi
420108:	41                   	inc    %ecx
420109:	8b 40 04             	mov    0x4(%eax),%eax
42010c:	3b ce                	cmp    %esi,%ecx
42010e:	72 f2                	jb     0x420102
420110:	85 c0                	test   %eax,%eax
420112:	74 0e                	je     0x420122
420114:	89 42 0c             	mov    %eax,0xc(%edx)
420117:	89 7a 10             	mov    %edi,0x10(%edx)
42011a:	89 4a 14             	mov    %ecx,0x14(%edx)
42011d:	89 45 fc             	mov    %eax,-0x4(%ebp)
420120:	eb 03                	jmp    0x420125
420122:	8b 45 fc             	mov    -0x4(%ebp),%eax
420125:	8b 08                	mov    (%eax),%ecx
420127:	39 19                	cmp    %ebx,(%ecx)
420129:	77 09                	ja     0x420134
42012b:	8b 41 04             	mov    0x4(%ecx),%eax
42012e:	03 01                	add    (%ecx),%eax
420130:	3b d8                	cmp    %eax,%ebx
420132:	72 12                	jb     0x420146
420134:	46                   	inc    %esi
420135:	3b 72 08             	cmp    0x8(%edx),%esi
420138:	72 ad                	jb     0x4200e7
42013a:	b8 90 04 07 80       	mov    $0x80070490,%eax
42013f:	5f                   	pop    %edi
420140:	5e                   	pop    %esi
420141:	5b                   	pop    %ebx
420142:	c9                   	leave
420143:	c2 04 00             	ret    $0x4
420146:	8b 45 f8             	mov    -0x8(%ebp),%eax
420149:	89 08                	mov    %ecx,(%eax)
42014b:	33 c0                	xor    %eax,%eax
42014d:	eb f0                	jmp    0x42013f
42014f:	8b ff                	mov    %edi,%edi
420151:	55                   	push   %ebp
420152:	8b ec                	mov    %esp,%ebp
420154:	81 ec 80 04 00 00    	sub    $0x480,%esp
42015a:	a1 74 b6 42 00       	mov    0x42b674,%eax
42015f:	33 c5                	xor    %ebp,%eax
420161:	89 45 f8             	mov    %eax,-0x8(%ebp)
420164:	53                   	push   %ebx
420165:	56                   	push   %esi
420166:	8b 75 08             	mov    0x8(%ebp),%esi
420169:	8d 85 80 fb ff ff    	lea    -0x480(%ebp),%eax
42016f:	57                   	push   %edi
420170:	6a 34                	push   $0x34
420172:	33 ff                	xor    %edi,%edi
420174:	89 8d b4 fb ff ff    	mov    %ecx,-0x44c(%ebp)
42017a:	8b da                	mov    %edx,%ebx
42017c:	57                   	push   %edi
42017d:	50                   	push   %eax
42017e:	89 9d c0 fb ff ff    	mov    %ebx,-0x440(%ebp)
420184:	e8 24 82 00 00       	call   0x4283ad
420189:	83 c4 0c             	add    $0xc,%esp
42018c:	89 bd c8 fb ff ff    	mov    %edi,-0x438(%ebp)
420192:	53                   	push   %ebx
420193:	ff 15 e4 c0 42 00    	call   *0x42c0e4
420199:	3b f0                	cmp    %eax,%esi
42019b:	74 05                	je     0x4201a2
42019d:	e8 98 61 00 00       	call   0x42633a
4201a2:	56                   	push   %esi
4201a3:	6a 08                	push   $0x8
4201a5:	ff 15 e0 c0 42 00    	call   *0x42c0e0
4201ab:	8b d8                	mov    %eax,%ebx
4201ad:	89 9d b8 fb ff ff    	mov    %ebx,-0x448(%ebp)
4201b3:	83 fb ff             	cmp    $0xffffffff,%ebx
4201b6:	75 12                	jne    0x4201ca
4201b8:	ff 15 18 c2 42 00    	call   *0x42c218
4201be:	8b c8                	mov    %eax,%ecx
4201c0:	e8 e5 b3 fe ff       	call   0x40b5aa
4201c5:	e9 a8 01 00 00       	jmp    0x420372
4201ca:	68 24 04 00 00       	push   $0x424
4201cf:	8d 85 d0 fb ff ff    	lea    -0x430(%ebp),%eax
4201d5:	57                   	push   %edi
4201d6:	50                   	push   %eax
4201d7:	e8 d1 81 00 00       	call   0x4283ad
4201dc:	83 c4 0c             	add    $0xc,%esp
4201df:	c7 85 cc fb ff ff 28 	movl   $0x428,-0x434(%ebp)
4201e6:	04 00 00
4201e9:	8d 85 cc fb ff ff    	lea    -0x434(%ebp),%eax
4201ef:	50                   	push   %eax
4201f0:	53                   	push   %ebx
4201f1:	ff 15 ac c0 42 00    	call   *0x42c0ac
4201f7:	e9 65 01 00 00       	jmp    0x420361
4201fc:	8d 85 c8 fb ff ff    	lea    -0x438(%ebp),%eax
420202:	ba 00 01 00 00       	mov    $0x100,%edx
420207:	50                   	push   %eax
420208:	8d 8d ec fb ff ff    	lea    -0x414(%ebp),%ecx
42020e:	e8 00 65 ff ff       	call   0x416713
420213:	85 c0                	test   %eax,%eax
420215:	79 16                	jns    0x42022d
420217:	bf ff 00 00 00       	mov    $0xff,%edi
42021c:	33 c0                	xor    %eax,%eax
42021e:	89 bd c8 fb ff ff    	mov    %edi,-0x438(%ebp)
420224:	66 89 85 ea fd ff ff 	mov    %ax,-0x216(%ebp)
42022b:	eb 06                	jmp    0x420233
42022d:	8b bd c8 fb ff ff    	mov    -0x438(%ebp),%edi
420233:	8d 04 7d 1e 00 00 00 	lea    0x1e(,%edi,2),%eax
42023a:	50                   	push   %eax
42023b:	ff 15 24 c3 42 00    	call   *0x42c324
420241:	8b f0                	mov    %eax,%esi
420243:	89 b5 c4 fb ff ff    	mov    %esi,-0x43c(%ebp)
420249:	59                   	pop    %ecx
42024a:	85 f6                	test   %esi,%esi
42024c:	0f 84 e1 00 00 00    	je     0x420333
420252:	8d 04 7d 1e 00 00 00 	lea    0x1e(,%edi,2),%eax
420259:	50                   	push   %eax
42025a:	6a 00                	push   $0x0
42025c:	56                   	push   %esi
42025d:	e8 4b 81 00 00       	call   0x4283ad
420262:	8b 85 e0 fb ff ff    	mov    -0x420(%ebp),%eax
420268:	83 c4 0c             	add    $0xc,%esp
42026b:	8b 8d c0 fb ff ff    	mov    -0x440(%ebp),%ecx
420271:	89 06                	mov    %eax,(%esi)
420273:	8b 85 e4 fb ff ff    	mov    -0x41c(%ebp),%eax
420279:	89 46 04             	mov    %eax,0x4(%esi)
42027c:	8b 95 e0 fb ff ff    	mov    -0x420(%ebp),%edx
420282:	e8 08 23 ff ff       	call   0x41258f
420287:	89 46 08             	mov    %eax,0x8(%esi)
42028a:	8d 95 80 fb ff ff    	lea    -0x480(%ebp),%edx
420290:	33 c0                	xor    %eax,%eax
420292:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
420298:	50                   	push   %eax
420299:	50                   	push   %eax
42029a:	50                   	push   %eax
42029b:	e8 f7 12 ff ff       	call   0x411597
4202a0:	85 c0                	test   %eax,%eax
4202a2:	78 26                	js     0x4202ca
4202a4:	8b 8d 88 fb ff ff    	mov    -0x478(%ebp),%ecx
4202aa:	8b c1                	mov    %ecx,%eax
4202ac:	c1 e8 10             	shr    $0x10,%eax
4202af:	66 89 46 0c          	mov    %ax,0xc(%esi)
4202b3:	66 89 4e 0e          	mov    %cx,0xe(%esi)
4202b7:	8b 8d 8c fb ff ff    	mov    -0x474(%ebp),%ecx
4202bd:	8b c1                	mov    %ecx,%eax
4202bf:	c1 e8 10             	shr    $0x10,%eax
4202c2:	66 89 46 10          	mov    %ax,0x10(%esi)
4202c6:	66 89 4e 12          	mov    %cx,0x12(%esi)
4202ca:	83 a5 bc fb ff ff 00 	andl   $0x0,-0x444(%ebp)
4202d1:	8d 46 1c             	lea    0x1c(%esi),%eax
4202d4:	89 46 14             	mov    %eax,0x14(%esi)
4202d7:	83 66 18 00          	andl   $0x0,0x18(%esi)
4202db:	85 ff                	test   %edi,%edi
4202dd:	74 28                	je     0x420307
4202df:	8b 9d bc fb ff ff    	mov    -0x444(%ebp),%ebx
4202e5:	0f b7 84 5d ec fb ff 	movzwl -0x414(%ebp,%ebx,2),%eax
4202ec:	ff
4202ed:	50                   	push   %eax
4202ee:	ff 15 0c c3 42 00    	call   *0x42c30c
4202f4:	59                   	pop    %ecx
4202f5:	8b 4e 14             	mov    0x14(%esi),%ecx
4202f8:	66 89 04 59          	mov    %ax,(%ecx,%ebx,2)
4202fc:	43                   	inc    %ebx
4202fd:	3b df                	cmp    %edi,%ebx
4202ff:	72 e4                	jb     0x4202e5
420301:	8b 9d b8 fb ff ff    	mov    -0x448(%ebp),%ebx
420307:	8b 46 14             	mov    0x14(%esi),%eax
42030a:	33 c9                	xor    %ecx,%ecx
42030c:	66 89 0c 78          	mov    %cx,(%eax,%edi,2)
420310:	8d 85 c4 fb ff ff    	lea    -0x43c(%ebp),%eax
420316:	8b 8d b4 fb ff ff    	mov    -0x44c(%ebp),%ecx
42031c:	50                   	push   %eax
42031d:	e8 fd 02 00 00       	call   0x42061f
420322:	85 c0                	test   %eax,%eax
420324:	79 0d                	jns    0x420333
420326:	ff b5 c4 fb ff ff    	push   -0x43c(%ebp)
42032c:	ff 15 1c c3 42 00    	call   *0x42c31c
420332:	59                   	pop    %ecx
420333:	68 24 04 00 00       	push   $0x424
420338:	8d 85 d0 fb ff ff    	lea    -0x430(%ebp),%eax
42033e:	6a 00                	push   $0x0
420340:	50                   	push   %eax
420341:	e8 67 80 00 00       	call   0x4283ad
420346:	83 c4 0c             	add    $0xc,%esp
420349:	c7 85 cc fb ff ff 28 	movl   $0x428,-0x434(%ebp)
420350:	04 00 00
420353:	8d 85 cc fb ff ff    	lea    -0x434(%ebp),%eax