46fecd:	8b f2                	mov    %edx,%esi
46fecf:	8b d8                	mov    %eax,%ebx
46fed1:	8b d4                	mov    %esp,%edx
46fed3:	8b c3                	mov    %ebx,%eax
46fed5:	e8 ae 01 00 00       	call   0x470088
46feda:	84 c0                	test   %al,%al
46fedc:	74 0b                	je     0x46fee9
46fede:	8b d6                	mov    %esi,%edx
46fee0:	8b c4                	mov    %esp,%eax
46fee2:	e8 a9 20 ff ff       	call   0x461f90
46fee7:	eb 07                	jmp    0x46fef0
46fee9:	8b c6                	mov    %esi,%eax
46feeb:	e8 74 42 f9 ff       	call   0x404164
46fef0:	83 c4 24             	add    $0x24,%esp
46fef3:	5e                   	pop    %esi
46fef4:	5b                   	pop    %ebx
46fef5:	c3                   	ret
46fef6:	8b c0                	mov    %eax,%eax
46fef8:	53                   	push   %ebx
46fef9:	56                   	push   %esi
46fefa:	83 c4 dc             	add    $0xffffffdc,%esp
46fefd:	8b f2                	mov    %edx,%esi
46feff:	8b d8                	mov    %eax,%ebx
46ff01:	8b d4                	mov    %esp,%edx
46ff03:	8b c3                	mov    %ebx,%eax
46ff05:	e8 7e 01 00 00       	call   0x470088
46ff0a:	84 c0                	test   %al,%al
46ff0c:	74 0b                	je     0x46ff19
46ff0e:	8b d6                	mov    %esi,%edx
46ff10:	8b c4                	mov    %esp,%eax
46ff12:	e8 fd f7 fe ff       	call   0x45f714
46ff17:	eb 07                	jmp    0x46ff20
46ff19:	8b c6                	mov    %esi,%eax
46ff1b:	e8 24 73 fa ff       	call   0x417244
46ff20:	83 c4 24             	add    $0x24,%esp
46ff23:	5e                   	pop    %esi
46ff24:	5b                   	pop    %ebx
46ff25:	c3                   	ret
46ff26:	8b c0                	mov    %eax,%eax
46ff28:	b8 22 00 00 00       	mov    $0x22,%eax
46ff2d:	c3                   	ret
46ff2e:	8b c0                	mov    %eax,%eax
46ff30:	8b 90 f4 00 00 00    	mov    0xf4(%eax),%edx
46ff36:	85 d2                	test   %edx,%edx
46ff38:	7e 04                	jle    0x46ff3e
46ff3a:	42                   	inc    %edx
46ff3b:	8b c2                	mov    %edx,%eax
46ff3d:	c3                   	ret
46ff3e:	e8 31 c0 ff ff       	call   0x46bf74
46ff43:	c3                   	ret
46ff44:	55                   	push   %ebp
46ff45:	8b ec                	mov    %esp,%ebp
46ff47:	83 c4 cc             	add    $0xffffffcc,%esp
46ff4a:	53                   	push   %ebx
46ff4b:	56                   	push   %esi
46ff4c:	57                   	push   %edi
46ff4d:	33 db                	xor    %ebx,%ebx
46ff4f:	89 5d cc             	mov    %ebx,-0x34(%ebp)
46ff52:	89 5d d0             	mov    %ebx,-0x30(%ebp)
46ff55:	89 5d f8             	mov    %ebx,-0x8(%ebp)
46ff58:	8b d9                	mov    %ecx,%ebx
46ff5a:	89 55 fc             	mov    %edx,-0x4(%ebp)
46ff5d:	8b f0                	mov    %eax,%esi
46ff5f:	33 c0                	xor    %eax,%eax
46ff61:	55                   	push   %ebp
46ff62:	68 77 00 47 00       	push   $0x470077
46ff67:	64 ff 30             	push   %fs:(%eax)
46ff6a:	64 89 20             	mov    %esp,%fs:(%eax)
46ff6d:	33 d2                	xor    %edx,%edx
46ff6f:	55                   	push   %ebp
46ff70:	68 31 00 47 00       	push   $0x470031
46ff75:	64 ff 32             	push   %fs:(%edx)
46ff78:	64 89 22             	mov    %esp,%fs:(%edx)
46ff7b:	8d 55 d6             	lea    -0x2a(%ebp),%edx
46ff7e:	33 c9                	xor    %ecx,%ecx
46ff80:	8b c6                	mov    %esi,%eax
46ff82:	e8 29 bf ff ff       	call   0x46beb0
46ff87:	84 c0                	test   %al,%al
46ff89:	0f 84 90 00 00 00    	je     0x47001f
46ff8f:	84 db                	test   %bl,%bl
46ff91:	75 09                	jne    0x46ff9c
46ff93:	83 be e4 00 00 00 00 	cmpl   $0x0,0xe4(%esi)
46ff9a:	75 10                	jne    0x46ffac
46ff9c:	8d 45 f8             	lea    -0x8(%ebp),%eax
46ff9f:	8b 96 e0 00 00 00    	mov    0xe0(%esi),%edx
46ffa5:	e8 52 42 f9 ff       	call   0x4041fc
46ffaa:	eb 0e                	jmp    0x46ffba
46ffac:	8d 45 f8             	lea    -0x8(%ebp),%eax
46ffaf:	8b 96 e4 00 00 00    	mov    0xe4(%esi),%edx
46ffb5:	e8 42 42 f9 ff       	call   0x4041fc
46ffba:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
46ffbe:	75 44                	jne    0x470004
46ffc0:	80 be e8 00 00 00 00 	cmpb   $0x0,0xe8(%esi)
46ffc7:	74 15                	je     0x46ffde
46ffc9:	84 db                	test   %bl,%bl
46ffcb:	74 04                	je     0x46ffd1
46ffcd:	b3 04                	mov    $0x4,%bl
46ffcf:	eb 02                	jmp    0x46ffd3
46ffd1:	b3 02                	mov    $0x2,%bl
46ffd3:	8b 3d 00 b1 49 00    	mov    0x49b100,%edi
46ffd9:	0f b6 3f             	movzbl (%edi),%edi
46ffdc:	eb 04                	jmp    0x46ffe2
46ffde:	33 db                	xor    %ebx,%ebx
46ffe0:	33 ff                	xor    %edi,%edi
46ffe2:	57                   	push   %edi
46ffe3:	8d 45 d0             	lea    -0x30(%ebp),%eax
46ffe6:	50                   	push   %eax
46ffe7:	8b 8e f4 00 00 00    	mov    0xf4(%esi),%ecx
46ffed:	8d 45 d6             	lea    -0x2a(%ebp),%eax
46fff0:	8b d3                	mov    %ebx,%edx
46fff2:	e8 25 2a ff ff       	call   0x462a1c
46fff7:	8b 55 d0             	mov    -0x30(%ebp),%edx
46fffa:	8b 45 fc             	mov    -0x4(%ebp),%eax
46fffd:	e8 b6 41 f9 ff       	call   0x4041b8
470002:	eb 23                	jmp    0x470027
470004:	8d 4d cc             	lea    -0x34(%ebp),%ecx
470007:	8d 55 d6             	lea    -0x2a(%ebp),%edx
47000a:	8b 45 f8             	mov    -0x8(%ebp),%eax
47000d:	e8 c6 34 ff ff       	call   0x4634d8
470012:	8b 55 cc             	mov    -0x34(%ebp),%edx
470015:	8b 45 fc             	mov    -0x4(%ebp),%eax
470018:	e8 9b 41 f9 ff       	call   0x4041b8
47001d:	eb 08                	jmp    0x470027
47001f:	8b 45 fc             	mov    -0x4(%ebp),%eax
470022:	e8 3d 41 f9 ff       	call   0x404164
470027:	33 c0                	xor    %eax,%eax
470029:	5a                   	pop    %edx
47002a:	59                   	pop    %ecx
47002b:	59                   	pop    %ecx
47002c:	64 89 10             	mov    %edx,%fs:(%eax)
47002f:	eb 23                	jmp    0x470054
470031:	e9 aa 39 f9 ff       	jmp    0x4039e0
470036:	01 00                	add    %eax,(%eax)
470038:	00 00                	add    %al,(%eax)
47003a:	a0 76 40 00 42       	mov    0x42004076,%al
47003f:	00 47 00             	add    %al,0x0(%edi)
470042:	8b 55 fc             	mov    -0x4(%ebp),%edx
470045:	a1 e0 b1 49 00       	mov    0x49b1e0,%eax
47004a:	e8 e9 61 f9 ff       	call   0x406238
47004f:	e8 c8 3b f9 ff       	call   0x403c1c
470054:	33 c0                	xor    %eax,%eax
470056:	5a                   	pop    %edx
470057:	59                   	pop    %ecx
470058:	59                   	pop    %ecx
470059:	64 89 10             	mov    %edx,%fs:(%eax)
47005c:	68 7e 00 47 00       	push   $0x47007e
470061:	8d 45 cc             	lea    -0x34(%ebp),%eax
470064:	ba 02 00 00 00       	mov    $0x2,%edx
470069:	e8 1a 41 f9 ff       	call   0x404188
47006e:	8d 45 f8             	lea    -0x8(%ebp),%eax
470071:	e8 ee 40 f9 ff       	call   0x404164
470076:	c3                   	ret
470077:	e9 ec 3a f9 ff       	jmp    0x403b68
47007c:	eb e3                	jmp    0x470061
47007e:	5f                   	pop    %edi
47007f:	5e                   	pop    %esi
470080:	5b                   	pop    %ebx
470081:	8b e5                	mov    %ebp,%esp
470083:	5d                   	pop    %ebp
470084:	c3                   	ret
470085:	8d 40 00             	lea    0x0(%eax),%eax
470088:	33 c9                	xor    %ecx,%ecx
47008a:	e8 21 be ff ff       	call   0x46beb0
47008f:	c3                   	ret
470090:	55                   	push   %ebp
470091:	8b ec                	mov    %esp,%ebp
470093:	83 c4 c4             	add    $0xffffffc4,%esp
470096:	53                   	push   %ebx
470097:	56                   	push   %esi
470098:	57                   	push   %edi
470099:	33 db                	xor    %ebx,%ebx
47009b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
47009e:	8b f2                	mov    %edx,%esi
4700a0:	8d 7d e8             	lea    -0x18(%ebp),%edi
4700a3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4700a4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4700a5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4700a6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4700a7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4700aa:	8b d8                	mov    %eax,%ebx
4700ac:	8d 45 e8             	lea    -0x18(%ebp),%eax
4700af:	e8 5c 51 fa ff       	call   0x415210
4700b4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4700b7:	e8 58 45 f9 ff       	call   0x404614
4700bc:	8b 45 08             	mov    0x8(%ebp),%eax
4700bf:	e8 50 45 f9 ff       	call   0x404614
4700c4:	33 c0                	xor    %eax,%eax
4700c6:	55                   	push   %ebp
4700c7:	68 49 01 47 00       	push   $0x470149
4700cc:	64 ff 30             	push   %fs:(%eax)
4700cf:	64 89 20             	mov    %esp,%fs:(%eax)
4700d2:	6a 00                	push   $0x0
4700d4:	8d 55 e4             	lea    -0x1c(%ebp),%edx
4700d7:	a1 a0 b2 49 00       	mov    0x49b2a0,%eax
4700dc:	e8 57 61 f9 ff       	call   0x406238
4700e1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4700e4:	50                   	push   %eax
4700e5:	8d 45 e8             	lea    -0x18(%ebp),%eax
4700e8:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4700eb:	c6 45 c8 0d          	movb   $0xd,-0x38(%ebp)
4700ef:	8b 43 38             	mov    0x38(%ebx),%eax
4700f2:	89 45 cc             	mov    %eax,-0x34(%ebp)
4700f5:	c6 45 d0 0b          	movb   $0xb,-0x30(%ebp)
4700f9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4700fc:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4700ff:	c6 45 d8 0b          	movb   $0xb,-0x28(%ebp)
470103:	8b 45 08             	mov    0x8(%ebp),%eax
470106:	89 45 dc             	mov    %eax,-0x24(%ebp)
470109:	c6 45 e0 0b          	movb   $0xb,-0x20(%ebp)
47010d:	8d 55 c4             	lea    -0x3c(%ebp),%edx
470110:	b9 03 00 00 00       	mov    $0x3,%ecx
470115:	58                   	pop    %eax
470116:	e8 11 9a ff ff       	call   0x469b2c
47011b:	33 c0                	xor    %eax,%eax
47011d:	5a                   	pop    %edx
47011e:	59                   	pop    %ecx
47011f:	59                   	pop    %ecx
470120:	64 89 10             	mov    %edx,%fs:(%eax)
470123:	68 50 01 47 00       	push   $0x470150
470128:	8d 45 e4             	lea    -0x1c(%ebp),%eax
47012b:	e8 34 40 f9 ff       	call   0x404164
470130:	8d 45 e8             	lea    -0x18(%ebp),%eax
470133:	e8 38 fe f9 ff       	call   0x40ff70
470138:	8d 45 fc             	lea    -0x4(%ebp),%eax
47013b:	e8 24 40 f9 ff       	call   0x404164
470140:	8d 45 08             	lea    0x8(%ebp),%eax
470143:	e8 1c 40 f9 ff       	call   0x404164
470148:	c3                   	ret
470149:	e9 1a 3a f9 ff       	jmp    0x403b68
47014e:	eb d8                	jmp    0x470128
470150:	5f                   	pop    %edi
470151:	5e                   	pop    %esi
470152:	5b                   	pop    %ebx
470153:	8b e5                	mov    %ebp,%esp
470155:	5d                   	pop    %ebp
470156:	c2 04 00             	ret    $0x4
470159:	8d 40 00             	lea    0x0(%eax),%eax
47015c:	55                   	push   %ebp
47015d:	8b ec                	mov    %esp,%ebp
47015f:	b9 07 00 00 00       	mov    $0x7,%ecx
470164:	6a 00                	push   $0x0
470166:	6a 00                	push   $0x0
470168:	49                   	dec    %ecx
470169:	75 f9                	jne    0x470164
47016b:	53                   	push   %ebx
47016c:	56                   	push   %esi
47016d:	8b f2                	mov    %edx,%esi
47016f:	8b d8                	mov    %eax,%ebx
470171:	33 c0                	xor    %eax,%eax
470173:	55                   	push   %ebp
470174:	68 54 02 47 00       	push   $0x470254
470179:	64 ff 30             	push   %fs:(%eax)
47017c:	64 89 20             	mov    %esp,%fs:(%eax)
47017f:	8d 55 f0             	lea    -0x10(%ebp),%edx
470182:	8b c6                	mov    %esi,%eax
470184:	e8 8b f5 fe ff       	call   0x45f714
470189:	80 bb e9 00 00 00 00 	cmpb   $0x0,0xe9(%ebx)
470190:	0f 84 85 00 00 00    	je     0x47021b
470196:	8d 45 e0             	lea    -0x20(%ebp),%eax
470199:	50                   	push   %eax
47019a:	8b c3                	mov    %ebx,%eax
47019c:	8b 10                	mov    (%eax),%edx
47019e:	ff 92 88 00 00 00    	call   *0x88(%edx)
4701a4:	8b c8                	mov    %eax,%ecx
4701a6:	66 8b 93 f4 00 00 00 	mov    0xf4(%ebx),%dx
4701ad:	8b 83 f0 00 00 00    	mov    0xf0(%ebx),%eax
4701b3:	e8 a8 f4 fe ff       	call   0x45f660
4701b8:	8d 45 d0             	lea    -0x30(%ebp),%eax
4701bb:	50                   	push   %eax
4701bc:	8b c3                	mov    %ebx,%eax
4701be:	8b 10                	mov    (%eax),%edx
4701c0:	ff 92 88 00 00 00    	call   *0x88(%edx)
4701c6:	8b c8                	mov    %eax,%ecx
4701c8:	66 8b 93 f4 00 00 00 	mov    0xf4(%ebx),%dx
4701cf:	8b 83 ec 00 00 00    	mov    0xec(%ebx),%eax
4701d5:	e8 86 f4 fe ff       	call   0x45f660
4701da:	8d 45 f0             	lea    -0x10(%ebp),%eax
4701dd:	8d 55 d0             	lea    -0x30(%ebp),%edx
4701e0:	e8 77 70 fa ff       	call   0x41725c
4701e5:	7c 0d                	jl     0x4701f4
4701e7:	8d 45 f0             	lea    -0x10(%ebp),%eax
4701ea:	8d 55 e0             	lea    -0x20(%ebp),%edx
4701ed:	e8 7a 70 fa ff       	call   0x41726c
4701f2:	7e 27                	jle    0x47021b
4701f4:	8d 45 cc             	lea    -0x34(%ebp),%eax
4701f7:	8d 55 e0             	lea    -0x20(%ebp),%edx
4701fa:	e8 ed 32 fa ff       	call   0x4134ec
4701ff:	8b 45 cc             	mov    -0x34(%ebp),%eax
470202:	50                   	push   %eax
470203:	8d 45 c8             	lea    -0x38(%ebp),%eax
470206:	8d 55 d0             	lea    -0x30(%ebp),%edx
470209:	e8 de 32 fa ff       	call   0x4134ec
47020e:	8b 4d c8             	mov    -0x38(%ebp),%ecx
470211:	8d 55 f0             	lea    -0x10(%ebp),%edx
470214:	8b c3                	mov    %ebx,%eax
470216:	e8 75 fe ff ff       	call   0x470090
47021b:	8b d6                	mov    %esi,%edx
47021d:	33 c9                	xor    %ecx,%ecx
47021f:	8b c3                	mov    %ebx,%eax
470221:	e8 6a c5 ff ff       	call   0x46c790
470226:	33 c0                	xor    %eax,%eax
470228:	5a                   	pop    %edx
470229:	59                   	pop    %ecx
47022a:	59                   	pop    %ecx
47022b:	64 89 10             	mov    %edx,%fs:(%eax)
47022e:	68 5b 02 47 00       	push   $0x47025b
470233:	8d 45 c8             	lea    -0x38(%ebp),%eax
470236:	ba 02 00 00 00       	mov    $0x2,%edx
47023b:	e8 48 3f f9 ff       	call   0x404188
470240:	8d 45 d0             	lea    -0x30(%ebp),%eax
470243:	8b 15 04 11 40 00    	mov    0x401104,%edx
470249:	b9 03 00 00 00       	mov    $0x3,%ecx
47024e:	e8 c5 49 f9 ff       	call   0x404c18
470253:	c3                   	ret
470254:	e9 0f 39 f9 ff       	jmp    0x403b68
470259:	eb d8                	jmp    0x470233
47025b:	5e                   	pop    %esi
47025c:	5b                   	pop    %ebx
47025d:	8b e5                	mov    %ebp,%esp
47025f:	5d                   	pop    %ebp
470260:	c3                   	ret
470261:	8d 40 00             	lea    0x0(%eax),%eax
470264:	55                   	push   %ebp
470265:	8b ec                	mov    %esp,%ebp
470267:	b9 0f 00 00 00       	mov    $0xf,%ecx
47026c:	6a 00                	push   $0x0
47026e:	6a 00                	push   $0x0
470270:	49                   	dec    %ecx
470271:	75 f9                	jne    0x47026c
470273:	51                   	push   %ecx
470274:	53                   	push   %ebx
470275:	8b d8                	mov    %eax,%ebx
470277:	33 c0                	xor    %eax,%eax
470279:	55                   	push   %ebp
47027a:	68 a7 03 47 00       	push   $0x4703a7
47027f:	64 ff 30             	push   %fs:(%eax)
470282:	64 89 20             	mov    %esp,%fs:(%eax)
470285:	ff 75 0c             	push   0xc(%ebp)
470288:	ff 75 08             	push   0x8(%ebp)
47028b:	8d 45 be             	lea    -0x42(%ebp),%eax
47028e:	b9 04 00 00 00       	mov    $0x4,%ecx
470293:	ba 12 00 00 00       	mov    $0x12,%edx
470298:	e8 a7 1e ff ff       	call   0x462144
47029d:	80 bb e9 00 00 00 00 	cmpb   $0x0,0xe9(%ebx)
4702a4:	0f 84 a8 00 00 00    	je     0x470352
4702aa:	8d 45 f0             	lea    -0x10(%ebp),%eax
4702ad:	50                   	push   %eax
4702ae:	8b c3                	mov    %ebx,%eax
4702b0:	8b 10                	mov    (%eax),%edx
4702b2:	ff 92 88 00 00 00    	call   *0x88(%edx)