436f4e:	6a 01                	push   $0x1
436f50:	56                   	push   %esi
436f51:	56                   	push   %esi
436f52:	57                   	push   %edi
436f53:	8b de                	mov    %esi,%ebx
436f55:	89 75 f8             	mov    %esi,-0x8(%ebp)
436f58:	e8 d2 88 ff ff       	call   0x42f82f
436f5d:	8b ca                	mov    %edx,%ecx
436f5f:	89 45 e8             	mov    %eax,-0x18(%ebp)
436f62:	23 c1                	and    %ecx,%eax
436f64:	83 c4 10             	add    $0x10,%esp
436f67:	89 4d ec             	mov    %ecx,-0x14(%ebp)
436f6a:	83 f8 ff             	cmp    $0xffffffff,%eax
436f6d:	74 59                	je     0x436fc8
436f6f:	6a 02                	push   $0x2
436f71:	56                   	push   %esi
436f72:	56                   	push   %esi
436f73:	57                   	push   %edi
436f74:	e8 b6 88 ff ff       	call   0x42f82f
436f79:	8b c8                	mov    %eax,%ecx
436f7b:	23 c2                	and    %edx,%eax
436f7d:	83 c4 10             	add    $0x10,%esp
436f80:	83 f8 ff             	cmp    $0xffffffff,%eax
436f83:	74 43                	je     0x436fc8
436f85:	8b 75 0c             	mov    0xc(%ebp),%esi
436f88:	8b 45 10             	mov    0x10(%ebp),%eax
436f8b:	2b f1                	sub    %ecx,%esi
436f8d:	1b c2                	sbb    %edx,%eax
436f8f:	89 45 fc             	mov    %eax,-0x4(%ebp)
436f92:	0f 88 c7 00 00 00    	js     0x43705f
436f98:	7f 08                	jg     0x436fa2
436f9a:	85 f6                	test   %esi,%esi
436f9c:	0f 84 bd 00 00 00    	je     0x43705f
436fa2:	68 00 10 00 00       	push   $0x1000
436fa7:	6a 08                	push   $0x8
436fa9:	ff 15 68 d1 48 00    	call   *0x48d168
436faf:	50                   	push   %eax
436fb0:	ff 15 64 d1 48 00    	call   *0x48d164
436fb6:	89 45 f4             	mov    %eax,-0xc(%ebp)
436fb9:	85 c0                	test   %eax,%eax
436fbb:	75 17                	jne    0x436fd4
436fbd:	e8 4c 0c ff ff       	call   0x427c0e
436fc2:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
436fc8:	e8 41 0c ff ff       	call   0x427c0e
436fcd:	8b 00                	mov    (%eax),%eax
436fcf:	5f                   	pop    %edi
436fd0:	5e                   	pop    %esi
436fd1:	5b                   	pop    %ebx
436fd2:	c9                   	leave
436fd3:	c3                   	ret
436fd4:	68 00 80 00 00       	push   $0x8000
436fd9:	57                   	push   %edi
436fda:	e8 87 b8 fe ff       	call   0x422866
436fdf:	59                   	pop    %ecx
436fe0:	89 45 f0             	mov    %eax,-0x10(%ebp)
436fe3:	8b 45 fc             	mov    -0x4(%ebp),%eax
436fe6:	59                   	pop    %ecx
436fe7:	85 c0                	test   %eax,%eax
436fe9:	7c 11                	jl     0x436ffc
436feb:	7f 08                	jg     0x436ff5
436fed:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
436ff3:	72 07                	jb     0x436ffc
436ff5:	b8 00 10 00 00       	mov    $0x1000,%eax
436ffa:	eb 02                	jmp    0x436ffe
436ffc:	8b c6                	mov    %esi,%eax
436ffe:	50                   	push   %eax
436fff:	ff 75 f4             	push   -0xc(%ebp)
437002:	57                   	push   %edi
437003:	e8 3b 40 ff ff       	call   0x42b043
437008:	83 c4 0c             	add    $0xc,%esp
43700b:	83 f8 ff             	cmp    $0xffffffff,%eax
43700e:	74 15                	je     0x437025
437010:	99                   	cltd
437011:	2b f0                	sub    %eax,%esi
437013:	8b 45 fc             	mov    -0x4(%ebp),%eax
437016:	1b c2                	sbb    %edx,%eax
437018:	89 45 fc             	mov    %eax,-0x4(%ebp)
43701b:	78 23                	js     0x437040
43701d:	7f c8                	jg     0x436fe7
43701f:	85 f6                	test   %esi,%esi
437021:	74 1d                	je     0x437040
437023:	eb c2                	jmp    0x436fe7
437025:	e8 b0 0b ff ff       	call   0x427bda
43702a:	83 38 05             	cmpl   $0x5,(%eax)
43702d:	75 0b                	jne    0x43703a
43702f:	e8 da 0b ff ff       	call   0x427c0e
437034:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
43703a:	83 cb ff             	or     $0xffffffff,%ebx
43703d:	09 5d f8             	or     %ebx,-0x8(%ebp)
437040:	ff 75 f0             	push   -0x10(%ebp)
437043:	57                   	push   %edi
437044:	e8 1d b8 fe ff       	call   0x422866
437049:	59                   	pop    %ecx
43704a:	59                   	pop    %ecx
43704b:	ff 75 f4             	push   -0xc(%ebp)
43704e:	6a 00                	push   $0x0
437050:	ff 15 68 d1 48 00    	call   *0x48d168
437056:	50                   	push   %eax
437057:	ff 15 6c d1 48 00    	call   *0x48d16c
43705d:	eb 66                	jmp    0x4370c5
43705f:	85 c0                	test   %eax,%eax
437061:	7f 6e                	jg     0x4370d1
437063:	7c 04                	jl     0x437069
437065:	85 f6                	test   %esi,%esi
437067:	73 68                	jae    0x4370d1
437069:	6a 00                	push   $0x0
43706b:	ff 75 10             	push   0x10(%ebp)
43706e:	ff 75 0c             	push   0xc(%ebp)
437071:	57                   	push   %edi
437072:	e8 b8 87 ff ff       	call   0x42f82f
437077:	23 c2                	and    %edx,%eax
437079:	83 c4 10             	add    $0x10,%esp
43707c:	83 f8 ff             	cmp    $0xffffffff,%eax
43707f:	0f 84 43 ff ff ff    	je     0x436fc8
437085:	57                   	push   %edi
437086:	e8 19 3b ff ff       	call   0x42aba4
43708b:	59                   	pop    %ecx
43708c:	50                   	push   %eax
43708d:	ff 15 d8 d3 48 00    	call   *0x48d3d8
437093:	f7 d8                	neg    %eax
437095:	1b c0                	sbb    %eax,%eax
437097:	f7 d8                	neg    %eax
437099:	48                   	dec    %eax
43709a:	99                   	cltd
43709b:	8b d8                	mov    %eax,%ebx
43709d:	8b c2                	mov    %edx,%eax
43709f:	8b cb                	mov    %ebx,%ecx
4370a1:	23 c8                	and    %eax,%ecx
4370a3:	89 45 f8             	mov    %eax,-0x8(%ebp)
4370a6:	83 f9 ff             	cmp    $0xffffffff,%ecx
4370a9:	75 26                	jne    0x4370d1
4370ab:	e8 5e 0b ff ff       	call   0x427c0e
4370b0:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
4370b6:	e8 1f 0b ff ff       	call   0x427bda
4370bb:	8b f0                	mov    %eax,%esi
4370bd:	ff 15 10 d3 48 00    	call   *0x48d310
4370c3:	89 06                	mov    %eax,(%esi)
4370c5:	23 5d f8             	and    -0x8(%ebp),%ebx
4370c8:	83 fb ff             	cmp    $0xffffffff,%ebx
4370cb:	0f 84 f7 fe ff ff    	je     0x436fc8
4370d1:	6a 00                	push   $0x0
4370d3:	ff 75 ec             	push   -0x14(%ebp)
4370d6:	ff 75 e8             	push   -0x18(%ebp)
4370d9:	57                   	push   %edi
4370da:	e8 50 87 ff ff       	call   0x42f82f
4370df:	23 c2                	and    %edx,%eax
4370e1:	83 c4 10             	add    $0x10,%esp
4370e4:	83 f8 ff             	cmp    $0xffffffff,%eax
4370e7:	0f 84 db fe ff ff    	je     0x436fc8
4370ed:	33 c0                	xor    %eax,%eax
4370ef:	e9 db fe ff ff       	jmp    0x436fcf
4370f4:	55                   	push   %ebp
4370f5:	8b ec                	mov    %esp,%ebp
4370f7:	51                   	push   %ecx
4370f8:	56                   	push   %esi
4370f9:	8b 35 28 01 4c 00    	mov    0x4c0128,%esi
4370ff:	57                   	push   %edi
437100:	33 ff                	xor    %edi,%edi
437102:	89 7d fc             	mov    %edi,-0x4(%ebp)
437105:	eb 62                	jmp    0x437169
437107:	57                   	push   %edi
437108:	57                   	push   %edi
437109:	57                   	push   %edi
43710a:	57                   	push   %edi
43710b:	6a ff                	push   $0xffffffff
43710d:	50                   	push   %eax
43710e:	57                   	push   %edi
43710f:	57                   	push   %edi
437110:	ff 15 9c d1 48 00    	call   *0x48d19c
437116:	8b f8                	mov    %eax,%edi
437118:	85 ff                	test   %edi,%edi
43711a:	74 60                	je     0x43717c
43711c:	6a 01                	push   $0x1
43711e:	57                   	push   %edi
43711f:	e8 62 f8 fe ff       	call   0x426986
437124:	59                   	pop    %ecx
437125:	59                   	pop    %ecx
437126:	89 45 fc             	mov    %eax,-0x4(%ebp)
437129:	85 c0                	test   %eax,%eax
43712b:	74 4f                	je     0x43717c
43712d:	6a 00                	push   $0x0
43712f:	6a 00                	push   $0x0
437131:	57                   	push   %edi
437132:	50                   	push   %eax
437133:	6a ff                	push   $0xffffffff
437135:	ff 36                	push   (%esi)
437137:	33 ff                	xor    %edi,%edi
437139:	57                   	push   %edi
43713a:	57                   	push   %edi
43713b:	ff 15 9c d1 48 00    	call   *0x48d19c
437141:	85 c0                	test   %eax,%eax
437143:	74 2e                	je     0x437173
437145:	8d 45 fc             	lea    -0x4(%ebp),%eax
437148:	57                   	push   %edi
437149:	50                   	push   %eax
43714a:	e8 7e 16 00 00       	call   0x4387cd
43714f:	59                   	pop    %ecx
437150:	59                   	pop    %ecx
437151:	85 c0                	test   %eax,%eax
437153:	79 11                	jns    0x437166
437155:	39 7d fc             	cmp    %edi,-0x4(%ebp)
437158:	74 0c                	je     0x437166
43715a:	ff 75 fc             	push   -0x4(%ebp)
43715d:	e8 3b ab fe ff       	call   0x421c9d
437162:	59                   	pop    %ecx
437163:	89 7d fc             	mov    %edi,-0x4(%ebp)
437166:	83 c6 04             	add    $0x4,%esi
437169:	8b 06                	mov    (%esi),%eax
43716b:	85 c0                	test   %eax,%eax
43716d:	75 98                	jne    0x437107
43716f:	5f                   	pop    %edi
437170:	5e                   	pop    %esi
437171:	c9                   	leave
437172:	c3                   	ret
437173:	ff 75 fc             	push   -0x4(%ebp)
437176:	e8 22 ab fe ff       	call   0x421c9d
43717b:	59                   	pop    %ecx
43717c:	83 c8 ff             	or     $0xffffffff,%eax
43717f:	eb ee                	jmp    0x43716f
437181:	55                   	push   %ebp
437182:	8b ec                	mov    %esp,%ebp
437184:	6a 00                	push   $0x0
437186:	ff 75 10             	push   0x10(%ebp)
437189:	ff 75 0c             	push   0xc(%ebp)
43718c:	ff 75 08             	push   0x8(%ebp)
43718f:	e8 05 00 00 00       	call   0x437199
437194:	83 c4 10             	add    $0x10,%esp
437197:	5d                   	pop    %ebp
437198:	c3                   	ret
437199:	55                   	push   %ebp
43719a:	8b ec                	mov    %esp,%ebp
43719c:	83 ec 10             	sub    $0x10,%esp
43719f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4371a2:	56                   	push   %esi
4371a3:	57                   	push   %edi
4371a4:	ff 75 14             	push   0x14(%ebp)
4371a7:	e8 73 9d fe ff       	call   0x420f1f
4371ac:	8b 45 10             	mov    0x10(%ebp),%eax
4371af:	85 c0                	test   %eax,%eax
4371b1:	75 07                	jne    0x4371ba
4371b3:	33 f6                	xor    %esi,%esi
4371b5:	e9 80 00 00 00       	jmp    0x43723a
4371ba:	8b 4d 08             	mov    0x8(%ebp),%ecx
4371bd:	85 c9                	test   %ecx,%ecx
4371bf:	74 07                	je     0x4371c8
4371c1:	8b 55 0c             	mov    0xc(%ebp),%edx
4371c4:	85 d2                	test   %edx,%edx
4371c6:	75 17                	jne    0x4371df
4371c8:	e8 41 0a ff ff       	call   0x427c0e
4371cd:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4371d3:	e8 38 fc fe ff       	call   0x426e10
4371d8:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
4371dd:	eb 5b                	jmp    0x43723a
4371df:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
4371e4:	3b c6                	cmp    %esi,%eax
4371e6:	76 12                	jbe    0x4371fa
4371e8:	e8 21 0a ff ff       	call   0x427c0e
4371ed:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4371f3:	e8 18 fc fe ff       	call   0x426e10
4371f8:	eb 40                	jmp    0x43723a
4371fa:	8b 7d f4             	mov    -0xc(%ebp),%edi
4371fd:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
437201:	75 12                	jne    0x437215
437203:	ff 75 14             	push   0x14(%ebp)
437206:	50                   	push   %eax
437207:	52                   	push   %edx
437208:	51                   	push   %ecx
437209:	e8 c0 18 00 00       	call   0x438ace
43720e:	83 c4 10             	add    $0x10,%esp
437211:	8b f0                	mov    %eax,%esi
437213:	eb 25                	jmp    0x43723a
437215:	ff 77 04             	push   0x4(%edi)
437218:	50                   	push   %eax
437219:	52                   	push   %edx
43721a:	50                   	push   %eax
43721b:	51                   	push   %ecx
43721c:	68 01 10 00 00       	push   $0x1001
437221:	ff b7 1c 02 00 00    	push   0x21c(%edi)
437227:	8d 45 f0             	lea    -0x10(%ebp),%eax
43722a:	50                   	push   %eax
43722b:	e8 ec 1b 00 00       	call   0x438e1c
437230:	83 c4 20             	add    $0x20,%esp
437233:	85 c0                	test   %eax,%eax
437235:	74 03                	je     0x43723a
437237:	8d 70 fe             	lea    -0x2(%eax),%esi
43723a:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
43723e:	74 07                	je     0x437247
437240:	8b 4d f8             	mov    -0x8(%ebp),%ecx
437243:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
437247:	5f                   	pop    %edi
437248:	8b c6                	mov    %esi,%eax
43724a:	5e                   	pop    %esi
43724b:	c9                   	leave
43724c:	c3                   	ret
43724d:	55                   	push   %ebp
43724e:	8b ec                	mov    %esp,%ebp
437250:	83 ec 7c             	sub    $0x7c,%esp
437253:	a1 c0 ad 4b 00       	mov    0x4badc0,%eax
437258:	33 c5                	xor    %ebp,%eax
43725a:	89 45 fc             	mov    %eax,-0x4(%ebp)
43725d:	8b 45 08             	mov    0x8(%ebp),%eax
437260:	89 45 8c             	mov    %eax,-0x74(%ebp)
437263:	8b 45 0c             	mov    0xc(%ebp),%eax
437266:	89 45 98             	mov    %eax,-0x68(%ebp)
437269:	33 c0                	xor    %eax,%eax
43726b:	53                   	push   %ebx
43726c:	33 db                	xor    %ebx,%ebx
43726e:	40                   	inc    %eax
43726f:	56                   	push   %esi
437270:	89 45 a0             	mov    %eax,-0x60(%ebp)
437273:	8b c3                	mov    %ebx,%eax
437275:	57                   	push   %edi
437276:	8d 7d e0             	lea    -0x20(%ebp),%edi
437279:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
43727c:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
43727f:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
437282:	89 5d a8             	mov    %ebx,-0x58(%ebp)
437285:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
437288:	8b f3                	mov    %ebx,%esi
43728a:	89 5d ac             	mov    %ebx,-0x54(%ebp)
43728d:	39 45 24             	cmp    %eax,0x24(%ebp)
437290:	75 17                	jne    0x4372a9
437292:	e8 77 09 ff ff       	call   0x427c0e
437297:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43729d:	e8 6e fb fe ff       	call   0x426e10
4372a2:	33 c0                	xor    %eax,%eax
4372a4:	e9 e0 06 00 00       	jmp    0x437989
4372a9:	8b 4d 10             	mov    0x10(%ebp),%ecx
4372ac:	8b d1                	mov    %ecx,%edx
4372ae:	89 55 b0             	mov    %edx,-0x50(%ebp)
4372b1:	8a 11                	mov    (%ecx),%dl
4372b3:	80 fa 20             	cmp    $0x20,%dl
4372b6:	74 0f                	je     0x4372c7
4372b8:	80 fa 09             	cmp    $0x9,%dl
4372bb:	74 0a                	je     0x4372c7
4372bd:	80 fa 0a             	cmp    $0xa,%dl
4372c0:	74 05                	je     0x4372c7
4372c2:	80 fa 0d             	cmp    $0xd,%dl
4372c5:	75 03                	jne    0x4372ca
4372c7:	41                   	inc    %ecx
4372c8:	eb e7                	jmp    0x4372b1
4372ca:	8a 11                	mov    (%ecx),%dl
4372cc:	41                   	inc    %ecx
4372cd:	83 f8 0b             	cmp    $0xb,%eax
4372d0:	0f 87 7b 02 00 00    	ja     0x437551
4372d6:	ff 24 85 99 79 43 00 	jmp    *0x437999(,%eax,4)
4372dd:	8d 42 cf             	lea    -0x31(%edx),%eax
4372e0:	3c 08                	cmp    $0x8,%al
4372e2:	77 06                	ja     0x4372ea
4372e4:	6a 03                	push   $0x3