436f48:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
436f4e:	75 06                	jne    0x436f56
436f50:	0b c7                	or     %edi,%eax
436f52:	eb 02                	jmp    0x436f56
436f54:	0b c6                	or     %esi,%eax
436f56:	5f                   	pop    %edi
436f57:	5e                   	pop    %esi
436f58:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
436f5e:	74 05                	je     0x436f65
436f60:	0d 00 10 00 00       	or     $0x1000,%eax
436f65:	5d                   	pop    %ebp
436f66:	c3                   	ret
436f67:	8b ff                	mov    %edi,%edi
436f69:	55                   	push   %ebp
436f6a:	8b ec                	mov    %esp,%ebp
436f6c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
436f70:	75 15                	jne    0x436f87
436f72:	e8 c9 f6 fe ff       	call   0x426640
436f77:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
436f7d:	e8 ed 9a fe ff       	call   0x420a6f
436f82:	83 c8 ff             	or     $0xffffffff,%eax
436f85:	5d                   	pop    %ebp
436f86:	c3                   	ret
436f87:	ff 75 08             	push   0x8(%ebp)
436f8a:	6a 00                	push   $0x0
436f8c:	ff 35 3c 61 45 00    	push   0x45613c
436f92:	ff 15 0c f1 43 00    	call   *0x43f10c
436f98:	5d                   	pop    %ebp
436f99:	c3                   	ret
436f9a:	8b ff                	mov    %edi,%edi
436f9c:	55                   	push   %ebp
436f9d:	8b ec                	mov    %esp,%ebp
436f9f:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
436fa3:	74 14                	je     0x436fb9
436fa5:	8b 45 08             	mov    0x8(%ebp),%eax
436fa8:	eb 01                	jmp    0x436fab
436faa:	40                   	inc    %eax
436fab:	8a 08                	mov    (%eax),%cl
436fad:	80 f9 30             	cmp    $0x30,%cl
436fb0:	74 f8                	je     0x436faa
436fb2:	84 c9                	test   %cl,%cl
436fb4:	0f 95 c0             	setne  %al
436fb7:	5d                   	pop    %ebp
436fb8:	c3                   	ret
436fb9:	b0 01                	mov    $0x1,%al
436fbb:	5d                   	pop    %ebp
436fbc:	c3                   	ret
436fbd:	8b ff                	mov    %edi,%edi
436fbf:	55                   	push   %ebp
436fc0:	8b ec                	mov    %esp,%ebp
436fc2:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
436fc6:	75 0b                	jne    0x436fd3
436fc8:	8b 45 0c             	mov    0xc(%ebp),%eax
436fcb:	80 38 35             	cmpb   $0x35,(%eax)
436fce:	0f 9d c0             	setge  %al
436fd1:	5d                   	pop    %ebp
436fd2:	c3                   	ret
436fd3:	e8 27 9c ff ff       	call   0x430bff
436fd8:	85 c0                	test   %eax,%eax
436fda:	75 2d                	jne    0x437009
436fdc:	8b 55 0c             	mov    0xc(%ebp),%edx
436fdf:	8a 02                	mov    (%edx),%al
436fe1:	3c 35                	cmp    $0x35,%al
436fe3:	7f 20                	jg     0x437005
436fe5:	7c 60                	jl     0x437047
436fe7:	ff 75 14             	push   0x14(%ebp)
436fea:	8d 42 01             	lea    0x1(%edx),%eax
436fed:	50                   	push   %eax
436fee:	e8 a7 ff ff ff       	call   0x436f9a
436ff3:	59                   	pop    %ecx
436ff4:	59                   	pop    %ecx
436ff5:	84 c0                	test   %al,%al
436ff7:	75 0c                	jne    0x437005
436ff9:	3b 55 08             	cmp    0x8(%ebp),%edx
436ffc:	74 49                	je     0x437047
436ffe:	8a 42 ff             	mov    -0x1(%edx),%al
437001:	24 01                	and    $0x1,%al
437003:	5d                   	pop    %ebp
437004:	c3                   	ret
437005:	b0 01                	mov    $0x1,%al
437007:	5d                   	pop    %ebp
437008:	c3                   	ret
437009:	3d 00 02 00 00       	cmp    $0x200,%eax
43700e:	75 19                	jne    0x437029
437010:	ff 75 14             	push   0x14(%ebp)
437013:	ff 75 0c             	push   0xc(%ebp)
437016:	e8 7f ff ff ff       	call   0x436f9a
43701b:	59                   	pop    %ecx
43701c:	59                   	pop    %ecx
43701d:	84 c0                	test   %al,%al
43701f:	74 26                	je     0x437047
437021:	83 7d 10 2d          	cmpl   $0x2d,0x10(%ebp)
437025:	74 20                	je     0x437047
437027:	eb dc                	jmp    0x437005
437029:	3d 00 01 00 00       	cmp    $0x100,%eax
43702e:	75 17                	jne    0x437047
437030:	ff 75 14             	push   0x14(%ebp)
437033:	ff 75 0c             	push   0xc(%ebp)
437036:	e8 5f ff ff ff       	call   0x436f9a
43703b:	59                   	pop    %ecx
43703c:	59                   	pop    %ecx
43703d:	84 c0                	test   %al,%al
43703f:	74 06                	je     0x437047
437041:	83 7d 10 2d          	cmpl   $0x2d,0x10(%ebp)
437045:	74 be                	je     0x437005
437047:	32 c0                	xor    %al,%al
437049:	5d                   	pop    %ebp
43704a:	c3                   	ret
43704b:	8b ff                	mov    %edi,%edi
43704d:	55                   	push   %ebp
43704e:	8b ec                	mov    %esp,%ebp
437050:	51                   	push   %ecx
437051:	56                   	push   %esi
437052:	57                   	push   %edi
437053:	8b 7d 08             	mov    0x8(%ebp),%edi
437056:	33 c9                	xor    %ecx,%ecx
437058:	85 ff                	test   %edi,%edi
43705a:	75 22                	jne    0x43707e
43705c:	8b 45 20             	mov    0x20(%ebp),%eax
43705f:	6a 16                	push   $0x16
437061:	5e                   	pop    %esi
437062:	50                   	push   %eax
437063:	51                   	push   %ecx
437064:	51                   	push   %ecx
437065:	51                   	push   %ecx
437066:	51                   	push   %ecx
437067:	51                   	push   %ecx
437068:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
43706c:	89 70 18             	mov    %esi,0x18(%eax)
43706f:	e8 7e 99 fe ff       	call   0x4209f2
437074:	83 c4 18             	add    $0x18,%esp
437077:	8b c6                	mov    %esi,%eax
437079:	e9 c3 00 00 00       	jmp    0x437141
43707e:	53                   	push   %ebx
43707f:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
437082:	76 1e                	jbe    0x4370a2
437084:	8b 55 10             	mov    0x10(%ebp),%edx
437087:	8b c2                	mov    %edx,%eax
437089:	88 0f                	mov    %cl,(%edi)
43708b:	85 d2                	test   %edx,%edx
43708d:	7f 02                	jg     0x437091
43708f:	8b c1                	mov    %ecx,%eax
437091:	40                   	inc    %eax
437092:	39 45 0c             	cmp    %eax,0xc(%ebp)
437095:	77 04                	ja     0x43709b
437097:	6a 22                	push   $0x22
437099:	eb 09                	jmp    0x4370a4
43709b:	8b 5d 14             	mov    0x14(%ebp),%ebx
43709e:	85 db                	test   %ebx,%ebx
4370a0:	75 1f                	jne    0x4370c1
4370a2:	6a 16                	push   $0x16
4370a4:	8b 45 20             	mov    0x20(%ebp),%eax
4370a7:	5e                   	pop    %esi
4370a8:	50                   	push   %eax
4370a9:	51                   	push   %ecx
4370aa:	51                   	push   %ecx
4370ab:	51                   	push   %ecx
4370ac:	51                   	push   %ecx
4370ad:	89 70 18             	mov    %esi,0x18(%eax)
4370b0:	51                   	push   %ecx
4370b1:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
4370b5:	e8 38 99 fe ff       	call   0x4209f2
4370ba:	83 c4 18             	add    $0x18,%esp
4370bd:	8b c6                	mov    %esi,%eax
4370bf:	eb 7f                	jmp    0x437140
4370c1:	8b 43 08             	mov    0x8(%ebx),%eax
4370c4:	8d 77 01             	lea    0x1(%edi),%esi
4370c7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4370ca:	c6 07 30             	movb   $0x30,(%edi)
4370cd:	85 d2                	test   %edx,%edx
4370cf:	7e 16                	jle    0x4370e7
4370d1:	8a 18                	mov    (%eax),%bl
4370d3:	84 db                	test   %bl,%bl
4370d5:	74 03                	je     0x4370da
4370d7:	40                   	inc    %eax
4370d8:	eb 02                	jmp    0x4370dc
4370da:	b3 30                	mov    $0x30,%bl
4370dc:	88 1e                	mov    %bl,(%esi)
4370de:	46                   	inc    %esi
4370df:	4a                   	dec    %edx
4370e0:	85 d2                	test   %edx,%edx
4370e2:	7f ed                	jg     0x4370d1
4370e4:	8b 5d 14             	mov    0x14(%ebp),%ebx
4370e7:	88 0e                	mov    %cl,(%esi)
4370e9:	85 d2                	test   %edx,%edx
4370eb:	78 28                	js     0x437115
4370ed:	ff 75 1c             	push   0x1c(%ebp)
4370f0:	ff 75 18             	push   0x18(%ebp)
4370f3:	ff 33                	push   (%ebx)
4370f5:	50                   	push   %eax
4370f6:	ff 75 fc             	push   -0x4(%ebp)
4370f9:	e8 bf fe ff ff       	call   0x436fbd
4370fe:	83 c4 14             	add    $0x14,%esp
437101:	84 c0                	test   %al,%al
437103:	74 10                	je     0x437115
437105:	eb 03                	jmp    0x43710a
437107:	c6 06 30             	movb   $0x30,(%esi)
43710a:	4e                   	dec    %esi
43710b:	8a 06                	mov    (%esi),%al
43710d:	3c 39                	cmp    $0x39,%al
43710f:	74 f6                	je     0x437107
437111:	fe c0                	inc    %al
437113:	88 06                	mov    %al,(%esi)
437115:	80 3f 31             	cmpb   $0x31,(%edi)
437118:	75 05                	jne    0x43711f
43711a:	ff 43 04             	incl   0x4(%ebx)
43711d:	eb 1f                	jmp    0x43713e
43711f:	8d 77 01             	lea    0x1(%edi),%esi
437122:	8b ce                	mov    %esi,%ecx
437124:	8d 51 01             	lea    0x1(%ecx),%edx
437127:	8a 01                	mov    (%ecx),%al
437129:	41                   	inc    %ecx
43712a:	84 c0                	test   %al,%al
43712c:	75 f9                	jne    0x437127
43712e:	2b ca                	sub    %edx,%ecx
437130:	8d 41 01             	lea    0x1(%ecx),%eax
437133:	50                   	push   %eax
437134:	56                   	push   %esi
437135:	57                   	push   %edi
437136:	e8 15 63 fe ff       	call   0x41d450
43713b:	83 c4 0c             	add    $0xc,%esp
43713e:	33 c0                	xor    %eax,%eax
437140:	5b                   	pop    %ebx
437141:	5f                   	pop    %edi
437142:	5e                   	pop    %esi
437143:	c9                   	leave
437144:	c3                   	ret
437145:	8b ff                	mov    %edi,%edi
437147:	55                   	push   %ebp
437148:	8b ec                	mov    %esp,%ebp
43714a:	81 ec 74 09 00 00    	sub    $0x974,%esp
437150:	a1 14 40 45 00       	mov    0x454014,%eax
437155:	33 c5                	xor    %ebp,%eax
437157:	89 45 fc             	mov    %eax,-0x4(%ebp)
43715a:	8b 45 18             	mov    0x18(%ebp),%eax
43715d:	89 85 74 f8 ff ff    	mov    %eax,-0x78c(%ebp)
437163:	8b 45 1c             	mov    0x1c(%ebp),%eax
437166:	89 85 a0 f8 ff ff    	mov    %eax,-0x760(%ebp)
43716c:	8d 85 60 f8 ff ff    	lea    -0x7a0(%ebp),%eax
437172:	53                   	push   %ebx
437173:	50                   	push   %eax
437174:	e8 a3 41 00 00       	call   0x43b31c
437179:	8b 85 60 f8 ff ff    	mov    -0x7a0(%ebp),%eax
43717f:	33 db                	xor    %ebx,%ebx
437181:	83 e0 1f             	and    $0x1f,%eax
437184:	43                   	inc    %ebx
437185:	59                   	pop    %ecx
437186:	3c 1f                	cmp    $0x1f,%al
437188:	75 09                	jne    0x437193
43718a:	c6 85 68 f8 ff ff 00 	movb   $0x0,-0x798(%ebp)
437191:	eb 13                	jmp    0x4371a6
437193:	8d 85 60 f8 ff ff    	lea    -0x7a0(%ebp),%eax
437199:	50                   	push   %eax
43719a:	e8 e6 41 00 00       	call   0x43b385
43719f:	59                   	pop    %ecx
4371a0:	88 9d 68 f8 ff ff    	mov    %bl,-0x798(%ebp)
4371a6:	56                   	push   %esi
4371a7:	8b 75 0c             	mov    0xc(%ebp),%esi
4371aa:	57                   	push   %edi
4371ab:	6a 20                	push   $0x20
4371ad:	5f                   	pop    %edi
4371ae:	85 f6                	test   %esi,%esi
4371b0:	7f 0d                	jg     0x4371bf
4371b2:	7c 06                	jl     0x4371ba
4371b4:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4371b8:	73 05                	jae    0x4371bf
4371ba:	6a 2d                	push   $0x2d
4371bc:	58                   	pop    %eax
4371bd:	eb 02                	jmp    0x4371c1
4371bf:	8b c7                	mov    %edi,%eax
4371c1:	8b 8d 74 f8 ff ff    	mov    -0x78c(%ebp),%ecx
4371c7:	6a 00                	push   $0x0
4371c9:	6a 00                	push   $0x0
4371cb:	89 01                	mov    %eax,(%ecx)
4371cd:	8b 85 a0 f8 ff ff    	mov    -0x760(%ebp),%eax
4371d3:	89 41 08             	mov    %eax,0x8(%ecx)
4371d6:	8d 85 5c f8 ff ff    	lea    -0x7a4(%ebp),%eax
4371dc:	50                   	push   %eax
4371dd:	e8 7e 4a ff ff       	call   0x42bc60
4371e2:	8b ce                	mov    %esi,%ecx
4371e4:	33 c0                	xor    %eax,%eax
4371e6:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
4371ec:	83 c4 0c             	add    $0xc,%esp
4371ef:	0b c1                	or     %ecx,%eax
4371f1:	75 2c                	jne    0x43721f
4371f3:	8b 45 08             	mov    0x8(%ebp),%eax
4371f6:	8b ce                	mov    %esi,%ecx
4371f8:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
4371fe:	0b c1                	or     %ecx,%eax
437200:	74 0c                	je     0x43720e
437202:	f7 85 5c f8 ff ff 00 	testl  $0x1000000,-0x7a4(%ebp)
437209:	00 00 01
43720c:	74 11                	je     0x43721f
43720e:	8b 85 74 f8 ff ff    	mov    -0x78c(%ebp),%eax
437214:	68 10 48 44 00       	push   $0x444810
437219:	83 60 04 00          	andl   $0x0,0x4(%eax)
43721d:	eb 3e                	jmp    0x43725d
43721f:	8d 45 08             	lea    0x8(%ebp),%eax
437222:	50                   	push   %eax
437223:	e8 93 53 ff ff       	call   0x42c5bb
437228:	59                   	pop    %ecx
437229:	85 c0                	test   %eax,%eax
43722b:	74 73                	je     0x4372a0
43722d:	8b 8d 74 f8 ff ff    	mov    -0x78c(%ebp),%ecx
437233:	89 59 04             	mov    %ebx,0x4(%ecx)
437236:	83 e8 01             	sub    $0x1,%eax
437239:	74 40                	je     0x43727b
43723b:	83 e8 01             	sub    $0x1,%eax
43723e:	74 18                	je     0x437258
437240:	83 e8 01             	sub    $0x1,%eax
437243:	74 0c                	je     0x437251
437245:	83 e8 01             	sub    $0x1,%eax
437248:	75 56                	jne    0x4372a0
43724a:	68 2c 48 44 00       	push   $0x44482c
43724f:	eb 0c                	jmp    0x43725d
437251:	68 24 48 44 00       	push   $0x444824
437256:	eb 05                	jmp    0x43725d
437258:	68 1c 48 44 00       	push   $0x44481c
43725d:	ff 75 20             	push   0x20(%ebp)
437260:	ff b5 a0 f8 ff ff    	push   -0x760(%ebp)
437266:	e8 de f2 fe ff       	call   0x426549
43726b:	83 c4 0c             	add    $0xc,%esp
43726e:	85 c0                	test   %eax,%eax
437270:	0f 85 aa 14 00 00    	jne    0x438720
437276:	e9 7e 14 00 00       	jmp    0x4386f9
43727b:	68 14 48 44 00       	push   $0x444814
437280:	ff 75 20             	push   0x20(%ebp)
437283:	ff b5 a0 f8 ff ff    	push   -0x760(%ebp)
437289:	e8 bb f2 fe ff       	call   0x426549
43728e:	83 c4 0c             	add    $0xc,%esp
437291:	85 c0                	test   %eax,%eax
437293:	0f 85 87 14 00 00    	jne    0x438720
437299:	33 db                	xor    %ebx,%ebx
43729b:	e9 59 14 00 00       	jmp    0x4386f9
4372a0:	8b 45 08             	mov    0x8(%ebp),%eax
4372a3:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
4372a9:	6a 00                	push   $0x0
4372ab:	89 45 08             	mov    %eax,0x8(%ebp)
4372ae:	8d 85 6c f8 ff ff    	lea    -0x794(%ebp),%eax
4372b4:	89 75 0c             	mov    %esi,0xc(%ebp)
4372b7:	be 1f 00 08 00       	mov    $0x8001f,%esi
4372bc:	6a 00                	push   $0x0
4372be:	50                   	push   %eax
4372bf:	89 b5 70 f8 ff ff    	mov    %esi,-0x790(%ebp)
4372c5:	e8 96 49 ff ff       	call   0x42bc60
4372ca:	ff b5 70 f8 ff ff    	push   -0x790(%ebp)
4372d0:	8d 85 88 f8 ff ff    	lea    -0x778(%ebp),%eax
4372d6:	56                   	push   %esi
4372d7:	50                   	push   %eax
4372d8:	e8 83 49 ff ff       	call   0x42bc60