415e79:	89 45 f8             	mov    %eax,-0x8(%ebp)
415e7c:	8b 45 0c             	mov    0xc(%ebp),%eax
415e7f:	83 a5 98 fc ff ff 00 	andl   $0x0,-0x368(%ebp)
415e86:	53                   	push   %ebx
415e87:	56                   	push   %esi
415e88:	8b 75 08             	mov    0x8(%ebp),%esi
415e8b:	57                   	push   %edi
415e8c:	89 85 74 fc ff ff    	mov    %eax,-0x38c(%ebp)
415e92:	8b 45 10             	mov    0x10(%ebp),%eax
415e95:	6a 48                	push   $0x48
415e97:	89 85 8c fc ff ff    	mov    %eax,-0x374(%ebp)
415e9d:	8d 85 f4 fb ff ff    	lea    -0x40c(%ebp),%eax
415ea3:	6a 00                	push   $0x0
415ea5:	50                   	push   %eax
415ea6:	89 95 9c fc ff ff    	mov    %edx,-0x364(%ebp)
415eac:	89 8d 90 fc ff ff    	mov    %ecx,-0x370(%ebp)
415eb2:	e8 f6 24 01 00       	call   0x4283ad
415eb7:	83 8d 94 fc ff ff ff 	orl    $0xffffffff,-0x36c(%ebp)
415ebe:	8d bd 4c fc ff ff    	lea    -0x3b4(%ebp),%edi
415ec4:	33 c0                	xor    %eax,%eax
415ec6:	33 c9                	xor    %ecx,%ecx
415ec8:	ab                   	stos   %eax,%es:(%edi)
415ec9:	83 c4 0c             	add    $0xc,%esp
415ecc:	89 8d 80 fc ff ff    	mov    %ecx,-0x380(%ebp)
415ed2:	8b d9                	mov    %ecx,%ebx
415ed4:	89 8d 6c fc ff ff    	mov    %ecx,-0x394(%ebp)
415eda:	89 8d 68 fc ff ff    	mov    %ecx,-0x398(%ebp)
415ee0:	ff b5 90 fc ff ff    	push   -0x370(%ebp)
415ee6:	ab                   	stos   %eax,%es:(%edi)
415ee7:	89 8d 7c fc ff ff    	mov    %ecx,-0x384(%ebp)
415eed:	89 8d 84 fc ff ff    	mov    %ecx,-0x37c(%ebp)
415ef3:	ab                   	stos   %eax,%es:(%edi)
415ef4:	ab                   	stos   %eax,%es:(%edi)
415ef5:	8b f9                	mov    %ecx,%edi
415ef7:	ff 15 e4 c0 42 00    	call   *0x42c0e4
415efd:	89 85 70 fc ff ff    	mov    %eax,-0x390(%ebp)
415f03:	85 c0                	test   %eax,%eax
415f05:	75 1d                	jne    0x415f24
415f07:	e8 a4 20 01 00       	call   0x427fb0
415f0c:	8b f0                	mov    %eax,%esi
415f0e:	85 f6                	test   %esi,%esi
415f10:	0f 8e d2 05 00 00    	jle    0x4164e8
415f16:	0f b7 f6             	movzwl %si,%esi
415f19:	81 ce 00 00 07 80    	or     $0x80070000,%esi
415f1f:	e9 c4 05 00 00       	jmp    0x4164e8
415f24:	e8 d7 1d 01 00       	call   0x427d00
415f29:	6a 04                	push   $0x4
415f2b:	33 c9                	xor    %ecx,%ecx
415f2d:	39 85 70 fc ff ff    	cmp    %eax,-0x390(%ebp)
415f33:	68 00 10 00 00       	push   $0x1000
415f38:	68 c0 04 00 00       	push   $0x4c0
415f3d:	0f 94 c1             	sete   %cl
415f40:	6a 00                	push   $0x0
415f42:	89 8d 64 fc ff ff    	mov    %ecx,-0x39c(%ebp)
415f48:	ff 15 d8 c0 42 00    	call   *0x42c0d8
415f4e:	8b f8                	mov    %eax,%edi
415f50:	89 bd 88 fc ff ff    	mov    %edi,-0x378(%ebp)
415f56:	85 ff                	test   %edi,%edi
415f58:	75 0a                	jne    0x415f64
415f5a:	be 0e 00 07 80       	mov    $0x8007000e,%esi
415f5f:	e9 84 05 00 00       	jmp    0x4164e8
415f64:	21 9d 44 fc ff ff    	and    %ebx,-0x3bc(%ebp)
415f6a:	33 c0                	xor    %eax,%eax
415f6c:	40                   	inc    %eax
415f6d:	c7 85 40 fc ff ff 0c 	movl   $0xc,-0x3c0(%ebp)
415f74:	00 00 00
415f77:	6a 02                	push   $0x2
415f79:	50                   	push   %eax
415f7a:	89 85 48 fc ff ff    	mov    %eax,-0x3b8(%ebp)
415f80:	8d 85 98 fc ff ff    	lea    -0x368(%ebp),%eax
415f86:	6a 00                	push   $0x0
415f88:	50                   	push   %eax
415f89:	e8 78 1d 01 00       	call   0x427d06
415f8e:	8b bd 9c fc ff ff    	mov    -0x364(%ebp),%edi
415f94:	50                   	push   %eax
415f95:	57                   	push   %edi
415f96:	e8 6b 1d 01 00       	call   0x427d06
415f9b:	50                   	push   %eax
415f9c:	ff 15 24 c1 42 00    	call   *0x42c124
415fa2:	f7 d8                	neg    %eax
415fa4:	6a 00                	push   $0x0
415fa6:	1b c0                	sbb    %eax,%eax
415fa8:	21 85 98 fc ff ff    	and    %eax,-0x368(%ebp)
415fae:	8d 85 40 fc ff ff    	lea    -0x3c0(%ebp),%eax
415fb4:	6a 00                	push   $0x0
415fb6:	6a 01                	push   $0x1
415fb8:	50                   	push   %eax
415fb9:	ff 15 d0 c0 42 00    	call   *0x42c0d0
415fbf:	89 85 9c fc ff ff    	mov    %eax,-0x364(%ebp)
415fc5:	85 c0                	test   %eax,%eax
415fc7:	0f 84 50 01 00 00    	je     0x41611d
415fcd:	85 f6                	test   %esi,%esi
415fcf:	0f 84 48 01 00 00    	je     0x41611d
415fd5:	6a 00                	push   $0x0
415fd7:	6a 0c                	push   $0xc
415fd9:	8d 45 ec             	lea    -0x14(%ebp),%eax
415fdc:	50                   	push   %eax
415fdd:	6a 01                	push   $0x1
415fdf:	ff 15 44 c4 42 00    	call   *0x42c444
415fe5:	85 c0                	test   %eax,%eax
415fe7:	0f 88 30 01 00 00    	js     0x41611d
415fed:	85 ff                	test   %edi,%edi
415fef:	74 11                	je     0x416002
415ff1:	57                   	push   %edi
415ff2:	ff 15 c8 c0 42 00    	call   *0x42c0c8
415ff8:	89 85 ac fc ff ff    	mov    %eax,-0x354(%ebp)
415ffe:	33 c9                	xor    %ecx,%ecx
416000:	eb 08                	jmp    0x41600a
416002:	33 c9                	xor    %ecx,%ecx
416004:	89 8d ac fc ff ff    	mov    %ecx,-0x354(%ebp)
41600a:	0f b7 45 ec          	movzwl -0x14(%ebp),%eax
41600e:	89 85 a8 fc ff ff    	mov    %eax,-0x358(%ebp)
416014:	8b 46 0c             	mov    0xc(%esi),%eax
416017:	c7 85 a4 fc ff ff 28 	movl   $0x28,-0x35c(%ebp)
41601e:	00 00 00
416021:	89 8d b0 fc ff ff    	mov    %ecx,-0x350(%ebp)
416027:	89 85 b4 fc ff ff    	mov    %eax,-0x34c(%ebp)
41602d:	89 8d b8 fc ff ff    	mov    %ecx,-0x348(%ebp)
416033:	39 9d 64 fc ff ff    	cmp    %ebx,-0x39c(%ebp)
416039:	0f 85 b4 00 00 00    	jne    0x4160f3
41603f:	6a 04                	push   $0x4
416041:	68 00 10 00 00       	push   $0x1000
416046:	68 48 03 00 00       	push   $0x348
41604b:	51                   	push   %ecx
41604c:	ff b5 90 fc ff ff    	push   -0x370(%ebp)
416052:	ff 15 c4 c0 42 00    	call   *0x42c0c4
416058:	8b d0                	mov    %eax,%edx
41605a:	89 95 7c fc ff ff    	mov    %edx,-0x384(%ebp)
416060:	85 d2                	test   %edx,%edx
416062:	0f 84 b5 00 00 00    	je     0x41611d
416068:	6a 14                	push   $0x14
41606a:	59                   	pop    %ecx
41606b:	8d bd cc fc ff ff    	lea    -0x334(%ebp),%edi
416071:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
416073:	8b b5 74 fc ff ff    	mov    -0x38c(%ebp),%esi
416079:	8d bd 1c fd ff ff    	lea    -0x2e4(%ebp),%edi
41607f:	b9 b3 00 00 00       	mov    $0xb3,%ecx
416084:	8d 85 a4 fc ff ff    	lea    -0x35c(%ebp),%eax
41608a:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41608c:	21 9d c0 fc ff ff    	and    %ebx,-0x340(%ebp)
416092:	8b ca                	mov    %edx,%ecx
416094:	21 9d c8 fc ff ff    	and    %ebx,-0x338(%ebp)
41609a:	2b c8                	sub    %eax,%ecx
41609c:	8d 85 cc fc ff ff    	lea    -0x334(%ebp),%eax
4160a2:	89 8d 78 fc ff ff    	mov    %ecx,-0x388(%ebp)
4160a8:	03 c1                	add    %ecx,%eax
4160aa:	be 48 03 00 00       	mov    $0x348,%esi
4160af:	89 85 bc fc ff ff    	mov    %eax,-0x344(%ebp)
4160b5:	8d 85 1c fd ff ff    	lea    -0x2e4(%ebp),%eax
4160bb:	03 c1                	add    %ecx,%eax
4160bd:	89 85 c4 fc ff ff    	mov    %eax,-0x33c(%ebp)
4160c3:	8d 85 78 fc ff ff    	lea    -0x388(%ebp),%eax
4160c9:	50                   	push   %eax
4160ca:	56                   	push   %esi
4160cb:	8d 85 a4 fc ff ff    	lea    -0x35c(%ebp),%eax
4160d1:	50                   	push   %eax
4160d2:	52                   	push   %edx
4160d3:	ff b5 90 fc ff ff    	push   -0x370(%ebp)
4160d9:	ff 15 c0 c0 42 00    	call   *0x42c0c0
4160df:	85 c0                	test   %eax,%eax
4160e1:	74 3a                	je     0x41611d
4160e3:	39 b5 78 fc ff ff    	cmp    %esi,-0x388(%ebp)
4160e9:	75 32                	jne    0x41611d
4160eb:	8b 85 7c fc ff ff    	mov    -0x384(%ebp),%eax
4160f1:	eb 24                	jmp    0x416117
4160f3:	8b 85 74 fc ff ff    	mov    -0x38c(%ebp),%eax
4160f9:	89 85 c4 fc ff ff    	mov    %eax,-0x33c(%ebp)
4160ff:	8d 85 a4 fc ff ff    	lea    -0x35c(%ebp),%eax
416105:	89 b5 bc fc ff ff    	mov    %esi,-0x344(%ebp)
41610b:	89 8d c0 fc ff ff    	mov    %ecx,-0x340(%ebp)
416111:	89 8d c8 fc ff ff    	mov    %ecx,-0x338(%ebp)
416117:	89 85 84 fc ff ff    	mov    %eax,-0x37c(%ebp)
41611d:	8b b5 8c fc ff ff    	mov    -0x374(%ebp),%esi
416123:	83 c6 04             	add    $0x4,%esi
416126:	66 83 3e 22          	cmpw   $0x22,(%esi)
41612a:	74 5f                	je     0x41618b
41612c:	56                   	push   %esi
41612d:	ff 15 04 c4 42 00    	call   *0x42c404
416133:	83 f8 05             	cmp    $0x5,%eax
416136:	75 53                	jne    0x41618b
416138:	8b bd 88 fc ff ff    	mov    -0x378(%ebp),%edi
41613e:	56                   	push   %esi
41613f:	81 c7 76 02 00 00    	add    $0x276,%edi
416145:	ff 15 00 c4 42 00    	call   *0x42c400
41614b:	50                   	push   %eax
41614c:	68 04 37 40 00       	push   $0x403704
416151:	68 25 01 00 00       	push   $0x125
416156:	57                   	push   %edi
416157:	e8 c1 d3 ff ff       	call   0x41351d
41615c:	8b f0                	mov    %eax,%esi
41615e:	83 c4 14             	add    $0x14,%esp
416161:	85 f6                	test   %esi,%esi
416163:	79 28                	jns    0x41618d
416165:	56                   	push   %esi
416166:	68 d4 12 00 00       	push   $0x12d4
41616b:	68 28 37 40 00       	push   $0x403728
416170:	6a 00                	push   $0x0
416172:	68 96 00 00 00       	push   $0x96
416177:	ff 15 14 c4 42 00    	call   *0x42c414
41617d:	8b bd 9c fc ff ff    	mov    -0x364(%ebp),%edi
416183:	83 c4 14             	add    $0x14,%esp
416186:	e9 2f 03 00 00       	jmp    0x4164ba
41618b:	8b fe                	mov    %esi,%edi
41618d:	ff b5 84 fc ff ff    	push   -0x37c(%ebp)
416193:	ff b5 9c fc ff ff    	push   -0x364(%ebp)
416199:	ff b5 70 fc ff ff    	push   -0x390(%ebp)
41619f:	57                   	push   %edi
4161a0:	8b bd 88 fc ff ff    	mov    -0x378(%ebp),%edi
4161a6:	68 3b 01 00 00       	push   $0x13b
4161ab:	57                   	push   %edi
4161ac:	e8 6c d3 ff ff       	call   0x41351d
4161b1:	8b f0                	mov    %eax,%esi
4161b3:	83 c4 18             	add    $0x18,%esp
4161b6:	85 f6                	test   %esi,%esi
4161b8:	79 0d                	jns    0x4161c7
4161ba:	56                   	push   %esi
4161bb:	68 e9 12 00 00       	push   $0x12e9
4161c0:	68 88 37 40 00       	push   $0x403788
4161c5:	eb a9                	jmp    0x416170
4161c7:	ff 15 fc c3 42 00    	call   *0x42c3fc
4161cd:	6a 00                	push   $0x0
4161cf:	89 85 68 fc ff ff    	mov    %eax,-0x398(%ebp)
4161d5:	ff 15 f8 c3 42 00    	call   *0x42c3f8
4161db:	8b 85 8c fc ff ff    	mov    -0x374(%ebp),%eax
4161e1:	c7 85 f4 fb ff ff 48 	movl   $0x48,-0x40c(%ebp)
4161e8:	00 00 00
4161eb:	c7 85 fc fb ff ff 2c 	movl   $0x40212c,-0x404(%ebp)
4161f2:	21 40 00
4161f5:	8b 08                	mov    (%eax),%ecx
4161f7:	8b c1                	mov    %ecx,%eax
4161f9:	83 e0 04             	and    $0x4,%eax
4161fc:	8b f0                	mov    %eax,%esi
4161fe:	c1 e6 10             	shl    $0x10,%esi
416201:	85 c0                	test   %eax,%eax
416203:	0f 84 e9 00 00 00    	je     0x4162f2
416209:	8b d1                	mov    %ecx,%edx
41620b:	8b c1                	mov    %ecx,%eax
41620d:	c1 ea 03             	shr    $0x3,%edx
416210:	83 e0 78             	and    $0x78,%eax
416213:	83 e2 0f             	and    $0xf,%edx
416216:	3c 18                	cmp    $0x18,%al
416218:	0f 86 ce 00 00 00    	jbe    0x4162ec
41621e:	8b c1                	mov    %ecx,%eax
416220:	24 78                	and    $0x78,%al
416222:	3c 20                	cmp    $0x20,%al
416224:	0f 86 c8 00 00 00    	jbe    0x4162f2
41622a:	8b c1                	mov    %ecx,%eax
41622c:	83 e0 78             	and    $0x78,%eax
41622f:	3c 38                	cmp    $0x38,%al
416231:	0f 86 b5 00 00 00    	jbe    0x4162ec
416237:	83 e1 78             	and    $0x78,%ecx
41623a:	80 f9 70             	cmp    $0x70,%cl
41623d:	0f 85 af 00 00 00    	jne    0x4162f2
416243:	6a 00                	push   $0x0
416245:	6a 01                	push   $0x1
416247:	8d 85 a3 fc ff ff    	lea    -0x35d(%ebp),%eax
41624d:	88 9d a3 fc ff ff    	mov    %bl,-0x35d(%ebp)
416253:	50                   	push   %eax
416254:	6a 3d                	push   $0x3d
416256:	ff b5 90 fc ff ff    	push   -0x370(%ebp)
41625c:	ff 15 5c c4 42 00    	call   *0x42c45c
416262:	85 c0                	test   %eax,%eax
416264:	79 1d                	jns    0x416283
416266:	50                   	push   %eax
416267:	68 19 13 00 00       	push   $0x1319
41626c:	68 e8 37 40 00       	push   $0x4037e8
416271:	6a 01                	push   $0x1
416273:	68 96 00 00 00       	push   $0x96
416278:	ff 15 14 c4 42 00    	call   *0x42c414
41627e:	83 c4 14             	add    $0x14,%esp
416281:	eb 6f                	jmp    0x4162f2
416283:	0f b6 8d a3 fc ff ff 	movzbl -0x35d(%ebp),%ecx
41628a:	8b c1                	mov    %ecx,%eax
41628c:	83 e1 07             	and    $0x7,%ecx
41628f:	c1 e8 04             	shr    $0x4,%eax
416292:	50                   	push   %eax
416293:	51                   	push   %ecx
416294:	68 1e 13 00 00       	push   $0x131e
416299:	68 50 38 40 00       	push   $0x403850
41629e:	6a 02                	push   $0x2
4162a0:	68 96 00 00 00       	push   $0x96
4162a5:	ff 15 14 c4 42 00    	call   *0x42c414
4162ab:	8a 85 a3 fc ff ff    	mov    -0x35d(%ebp),%al
4162b1:	83 c4 18             	add    $0x18,%esp
4162b4:	8a c8                	mov    %al,%cl
4162b6:	80 e1 07             	and    $0x7,%cl
4162b9:	80 f9 03             	cmp    $0x3,%cl
4162bc:	73 23                	jae    0x4162e1
4162be:	8a c8                	mov    %al,%cl
4162c0:	80 e1 f0             	and    $0xf0,%cl
4162c3:	80 f9 90             	cmp    $0x90,%cl
4162c6:	73 19                	jae    0x4162e1
4162c8:	0f b6 c8             	movzbl %al,%ecx
4162cb:	8b c1                	mov    %ecx,%eax
4162cd:	c1 e9 04             	shr    $0x4,%ecx
4162d0:	83 e0 07             	and    $0x7,%eax
4162d3:	6b c0 09             	imul   $0x9,%eax,%eax
4162d6:	03 c1                	add    %ecx,%eax
4162d8:	8b 04 85 b8 3a 40 00 	mov    0x403ab8(,%eax,4),%eax
4162df:	eb 03                	jmp    0x4162e4
4162e1:	83 c8 ff             	or     $0xffffffff,%eax
4162e4:	89 85 94 fc ff ff    	mov    %eax,-0x36c(%ebp)
4162ea:	eb 06                	jmp    0x4162f2
4162ec:	89 95 94 fc ff ff    	mov    %edx,-0x36c(%ebp)
4162f2:	8b 85 8c fc ff ff    	mov    -0x374(%ebp),%eax
4162f8:	ff b5 94 fc ff ff    	push   -0x36c(%ebp)
4162fe:	8b 00                	mov    (%eax),%eax
416300:	c1 e8 03             	shr    $0x3,%eax
416303:	83 e0 0f             	and    $0xf,%eax
416306:	50                   	push   %eax
416307:	68 2c 13 00 00       	push   $0x132c
41630c:	68 98 38 40 00       	push   $0x403898
416311:	6a 02                	push   $0x2
416313:	68 96 00 00 00       	push   $0x96
416318:	ff 15 14 c4 42 00    	call   *0x42c414
41631e:	8b 85 8c fc ff ff    	mov    -0x374(%ebp),%eax
416324:	83 c4 18             	add    $0x18,%esp
416327:	f6 00 04             	testb  $0x4,(%eax)
41632a:	0f 84 fa 00 00 00    	je     0x41642a
416330:	83 bd 94 fc ff ff ff 	cmpl   $0xffffffff,-0x36c(%ebp)
416337:	0f 84 ed 00 00 00    	je     0x41642a
41633d:	8d 85 80 fc ff ff    	lea    -0x380(%ebp),%eax
416343:	50                   	push   %eax
416344:	6a 00                	push   $0x0
416346:	6a 01                	push   $0x1
416348:	6a 00                	push   $0x0
41634a:	ff 15 00 c1 42 00    	call   *0x42c100
416350:	85 c0                	test   %eax,%eax
416352:	75 28                	jne    0x41637c
416354:	e8 57 1c 01 00       	call   0x427fb0
416359:	83 f8 7a             	cmp    $0x7a,%eax
41635c:	74 1e                	je     0x41637c
41635e:	e8 4d 1c 01 00       	call   0x427fb0
416363:	8b c8                	mov    %eax,%ecx
416365:	e8 40 52 ff ff       	call   0x40b5aa
41636a:	8b f0                	mov    %eax,%esi
41636c:	56                   	push   %esi
41636d:	68 3b 13 00 00       	push   $0x133b
416372:	68 d8 38 40 00       	push   $0x4038d8
416377:	e9 f4 fd ff ff       	jmp    0x416170
41637c:	6a 04                	push   $0x4
41637e:	68 00 10 00 00       	push   $0x1000
416383:	ff b5 80 fc ff ff    	push   -0x380(%ebp)
416389:	6a 00                	push   $0x0
41638b:	ff 15 d8 c0 42 00    	call   *0x42c0d8
416391:	8b d8                	mov    %eax,%ebx
416393:	85 db                	test   %ebx,%ebx
416395:	75 15                	jne    0x4163ac
416397:	be 0e 00 07 80       	mov    $0x8007000e,%esi
41639c:	56                   	push   %esi