4370d8:	5e                   	pop    %esi
4370d9:	5b                   	pop    %ebx
4370da:	59                   	pop    %ecx
4370db:	5d                   	pop    %ebp
4370dc:	c3                   	ret
4370dd:	8d 40 00             	lea    0x0(%eax),%eax
4370e0:	e8 67 ca fc ff       	call   0x403b4c
4370e5:	33 c0                	xor    %eax,%eax
4370e7:	a3 40 15 47 00       	mov    %eax,0x471540
4370ec:	c3                   	ret
4370ed:	8d 40 00             	lea    0x0(%eax),%eax
4370f0:	e8 53 ca fc ff       	call   0x403b48
4370f5:	33 c0                	xor    %eax,%eax
4370f7:	a3 40 15 47 00       	mov    %eax,0x471540
4370fc:	c3                   	ret
4370fd:	8d 40 00             	lea    0x0(%eax),%eax
437100:	84 d2                	test   %dl,%dl
437102:	74 08                	je     0x43710c
437104:	83 c4 f0             	add    $0xfffffff0,%esp
437107:	e8 0c cb fc ff       	call   0x403c18
43710c:	89 48 40             	mov    %ecx,0x40(%eax)
43710f:	84 d2                	test   %dl,%dl
437111:	74 0f                	je     0x437122
437113:	e8 58 cb fc ff       	call   0x403c70
437118:	64 8f 05 00 00 00 00 	pop    %fs:0x0
43711f:	83 c4 0c             	add    $0xc,%esp
437122:	c3                   	ret
437123:	90                   	nop
437124:	53                   	push   %ebx
437125:	56                   	push   %esi
437126:	8b f2                	mov    %edx,%esi
437128:	8b d8                	mov    %eax,%ebx
43712a:	8b d6                	mov    %esi,%edx
43712c:	8b c3                	mov    %ebx,%eax
43712e:	e8 69 fd ff ff       	call   0x436e9c
437133:	8b c6                	mov    %esi,%eax
437135:	8b 15 3c 44 43 00    	mov    0x43443c,%edx
43713b:	e8 40 c9 fc ff       	call   0x403a80
437140:	84 c0                	test   %al,%al
437142:	74 06                	je     0x43714a
437144:	8b 46 40             	mov    0x40(%esi),%eax
437147:	89 43 40             	mov    %eax,0x40(%ebx)
43714a:	5e                   	pop    %esi
43714b:	5b                   	pop    %ebx
43714c:	c3                   	ret
43714d:	8d 40 00             	lea    0x0(%eax),%eax
437150:	55                   	push   %ebp
437151:	8b ec                	mov    %esp,%ebp
437153:	56                   	push   %esi
437154:	57                   	push   %edi
437155:	8b f0                	mov    %eax,%esi
437157:	8b 7e 40             	mov    0x40(%esi),%edi
43715a:	85 ff                	test   %edi,%edi
43715c:	74 0f                	je     0x43716d
43715e:	8b 45 08             	mov    0x8(%ebp),%eax
437161:	50                   	push   %eax
437162:	8b c7                	mov    %edi,%eax
437164:	66 be dd ff          	mov    $0xffdd,%si
437168:	e8 83 c9 fc ff       	call   0x403af0
43716d:	5f                   	pop    %edi
43716e:	5e                   	pop    %esi
43716f:	5d                   	pop    %ebp
437170:	c2 04 00             	ret    $0x4
437173:	90                   	nop
437174:	55                   	push   %ebp
437175:	8b ec                	mov    %esp,%ebp
437177:	53                   	push   %ebx
437178:	56                   	push   %esi
437179:	57                   	push   %edi
43717a:	8b f9                	mov    %ecx,%edi
43717c:	8b d8                	mov    %eax,%ebx
43717e:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
437182:	75 0e                	jne    0x437192
437184:	8b 43 40             	mov    0x40(%ebx),%eax
437187:	66 be df ff          	mov    $0xffdf,%si
43718b:	e8 60 c9 fc ff       	call   0x403af0
437190:	33 d2                	xor    %edx,%edx
437192:	8b 45 0c             	mov    0xc(%ebp),%eax
437195:	50                   	push   %eax
437196:	8b cf                	mov    %edi,%ecx
437198:	8b c3                	mov    %ebx,%eax
43719a:	8b 18                	mov    (%eax),%ebx
43719c:	ff 53 24             	call   *0x24(%ebx)
43719f:	5f                   	pop    %edi
4371a0:	5e                   	pop    %esi
4371a1:	5b                   	pop    %ebx
4371a2:	5d                   	pop    %ebp
4371a3:	c2 08 00             	ret    $0x8
4371a6:	8b c0                	mov    %eax,%eax
4371a8:	55                   	push   %ebp
4371a9:	8b ec                	mov    %esp,%ebp
4371ab:	84 d2                	test   %dl,%dl
4371ad:	74 09                	je     0x4371b8
4371af:	8b 40 40             	mov    0x40(%eax),%eax
4371b2:	0f b7 40 7e          	movzwl 0x7e(%eax),%eax
4371b6:	eb 04                	jmp    0x4371bc
4371b8:	66 b8 f3 ff          	mov    $0xfff3,%ax
4371bc:	5d                   	pop    %ebp
4371bd:	c2 04 00             	ret    $0x4
4371c0:	8b 40 40             	mov    0x40(%eax),%eax
4371c3:	8b 10                	mov    (%eax),%edx
4371c5:	ff 52 4c             	call   *0x4c(%edx)
4371c8:	c3                   	ret
4371c9:	8d 40 00             	lea    0x0(%eax),%eax
4371cc:	53                   	push   %ebx
4371cd:	8b d8                	mov    %eax,%ebx
4371cf:	8b 43 40             	mov    0x40(%ebx),%eax
4371d2:	8b 10                	mov    (%eax),%edx
4371d4:	ff 52 4c             	call   *0x4c(%edx)
4371d7:	85 c0                	test   %eax,%eax
4371d9:	74 0d                	je     0x4371e8
4371db:	8b 43 40             	mov    0x40(%ebx),%eax
4371de:	8b 10                	mov    (%eax),%edx
4371e0:	ff 52 4c             	call   *0x4c(%edx)
4371e3:	e8 fc c3 00 00       	call   0x4435e4
4371e8:	5b                   	pop    %ebx
4371e9:	c3                   	ret
4371ea:	8b c0                	mov    %eax,%eax
4371ec:	53                   	push   %ebx
4371ed:	8b d8                	mov    %eax,%ebx
4371ef:	8b 43 40             	mov    0x40(%ebx),%eax
4371f2:	8b 10                	mov    (%eax),%edx
4371f4:	ff 52 4c             	call   *0x4c(%edx)
4371f7:	85 c0                	test   %eax,%eax
4371f9:	74 0d                	je     0x437208
4371fb:	8b 43 40             	mov    0x40(%ebx),%eax
4371fe:	8b 10                	mov    (%eax),%edx
437200:	ff 52 4c             	call   *0x4c(%edx)
437203:	e8 c4 c3 00 00       	call   0x4435cc
437208:	5b                   	pop    %ebx
437209:	c3                   	ret
43720a:	8b c0                	mov    %eax,%eax
43720c:	c3                   	ret
43720d:	8d 40 00             	lea    0x0(%eax),%eax
437210:	55                   	push   %ebp
437211:	8b ec                	mov    %esp,%ebp
437213:	51                   	push   %ecx
437214:	53                   	push   %ebx
437215:	56                   	push   %esi
437216:	84 d2                	test   %dl,%dl
437218:	74 08                	je     0x437222
43721a:	83 c4 f0             	add    $0xfffffff0,%esp
43721d:	e8 f6 c9 fc ff       	call   0x403c18
437222:	88 55 ff             	mov    %dl,-0x1(%ebp)
437225:	8b d8                	mov    %eax,%ebx
437227:	33 d2                	xor    %edx,%edx
437229:	8b c3                	mov    %ebx,%eax
43722b:	e8 d0 fe ff ff       	call   0x437100
437230:	c6 43 38 01          	movb   $0x1,0x38(%ebx)
437234:	b2 01                	mov    $0x1,%dl
437236:	a1 0c 18 42 00       	mov    0x42180c,%eax
43723b:	e8 30 c4 fe ff       	call   0x423670
437240:	8b f0                	mov    %eax,%esi
437242:	89 73 48             	mov    %esi,0x48(%ebx)
437245:	ba ff ff ff 00       	mov    $0xffffff,%edx
43724a:	33 c0                	xor    %eax,%eax
43724c:	e8 1b 33 ff ff       	call   0x42a56c
437251:	8b d0                	mov    %eax,%edx
437253:	8b c6                	mov    %esi,%eax
437255:	e8 92 c5 fe ff       	call   0x4237ec
43725a:	8b c3                	mov    %ebx,%eax
43725c:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
437260:	74 0f                	je     0x437271
437262:	e8 09 ca fc ff       	call   0x403c70
437267:	64 8f 05 00 00 00 00 	pop    %fs:0x0
43726e:	83 c4 0c             	add    $0xc,%esp
437271:	8b c3                	mov    %ebx,%eax
437273:	5e                   	pop    %esi
437274:	5b                   	pop    %ebx
437275:	59                   	pop    %ecx
437276:	5d                   	pop    %ebp
437277:	c3                   	ret
437278:	53                   	push   %ebx
437279:	56                   	push   %esi
43727a:	e8 41 ca fc ff       	call   0x403cc0
43727f:	8b da                	mov    %edx,%ebx
437281:	8b f0                	mov    %eax,%esi
437283:	8b 46 48             	mov    0x48(%esi),%eax
437286:	e8 69 c6 fc ff       	call   0x4038f4
43728b:	8b d3                	mov    %ebx,%edx
43728d:	80 e2 fc             	and    $0xfc,%dl
437290:	8b c6                	mov    %esi,%eax
437292:	e8 4d c6 fc ff       	call   0x4038e4
437297:	84 db                	test   %bl,%bl
437299:	7e 07                	jle    0x4372a2
43729b:	8b c6                	mov    %esi,%eax
43729d:	e8 c6 c9 fc ff       	call   0x403c68
4372a2:	5e                   	pop    %esi
4372a3:	5b                   	pop    %ebx
4372a4:	c3                   	ret
4372a5:	8d 40 00             	lea    0x0(%eax),%eax
4372a8:	53                   	push   %ebx
4372a9:	56                   	push   %esi
4372aa:	57                   	push   %edi
4372ab:	8b f2                	mov    %edx,%esi
4372ad:	8b d8                	mov    %eax,%ebx
4372af:	8b d6                	mov    %esi,%edx
4372b1:	8b c3                	mov    %ebx,%eax
4372b3:	e8 6c fe ff ff       	call   0x437124
4372b8:	8b c6                	mov    %esi,%eax
4372ba:	8b 15 1c 46 43 00    	mov    0x43461c,%edx
4372c0:	e8 bb c7 fc ff       	call   0x403a80
4372c5:	84 c0                	test   %al,%al
4372c7:	74 39                	je     0x437302
4372c9:	8b c6                	mov    %esi,%eax
4372cb:	0f b6 50 5c          	movzbl 0x5c(%eax),%edx
4372cf:	88 53 5c             	mov    %dl,0x5c(%ebx)
4372d2:	8b 50 60             	mov    0x60(%eax),%edx
4372d5:	89 53 60             	mov    %edx,0x60(%ebx)
4372d8:	0f b6 50 74          	movzbl 0x74(%eax),%edx
4372dc:	88 53 74             	mov    %dl,0x74(%ebx)
4372df:	56                   	push   %esi
4372e0:	8d 70 4c             	lea    0x4c(%eax),%esi
4372e3:	8d 7b 4c             	lea    0x4c(%ebx),%edi
4372e6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4372e7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4372e8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4372e9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4372ea:	5e                   	pop    %esi
4372eb:	56                   	push   %esi
4372ec:	8d 70 64             	lea    0x64(%eax),%esi
4372ef:	8d 7b 64             	lea    0x64(%ebx),%edi
4372f2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4372f3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4372f4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4372f5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4372f6:	5e                   	pop    %esi
4372f7:	8b 50 48             	mov    0x48(%eax),%edx
4372fa:	8b 43 48             	mov    0x48(%ebx),%eax
4372fd:	8b 08                	mov    (%eax),%ecx
4372ff:	ff 51 08             	call   *0x8(%ecx)
437302:	5f                   	pop    %edi
437303:	5e                   	pop    %esi
437304:	5b                   	pop    %ebx
437305:	c3                   	ret
437306:	8b c0                	mov    %eax,%eax
437308:	55                   	push   %ebp
437309:	8b ec                	mov    %esp,%ebp
43730b:	56                   	push   %esi
43730c:	8b f0                	mov    %eax,%esi
43730e:	8b 45 08             	mov    0x8(%ebp),%eax
437311:	50                   	push   %eax
437312:	8b 46 40             	mov    0x40(%esi),%eax
437315:	66 be e5 ff          	mov    $0xffe5,%si
437319:	e8 d2 c7 fc ff       	call   0x403af0
43731e:	5e                   	pop    %esi
43731f:	5d                   	pop    %ebp
437320:	c2 04 00             	ret    $0x4
437323:	90                   	nop
437324:	53                   	push   %ebx
437325:	56                   	push   %esi
437326:	8b da                	mov    %edx,%ebx
437328:	8b c8                	mov    %eax,%ecx
43732a:	8b c1                	mov    %ecx,%eax
43732c:	99                   	cltd
43732d:	33 c2                	xor    %edx,%eax
43732f:	2b c2                	sub    %edx,%eax
437331:	8b f0                	mov    %eax,%esi
437333:	8b c3                	mov    %ebx,%eax
437335:	99                   	cltd
437336:	33 c2                	xor    %edx,%eax
437338:	2b c2                	sub    %edx,%eax
43733a:	3b f0                	cmp    %eax,%esi
43733c:	7d 05                	jge    0x437343
43733e:	8b c1                	mov    %ecx,%eax
437340:	5e                   	pop    %esi
437341:	5b                   	pop    %ebx
437342:	c3                   	ret
437343:	8b c3                	mov    %ebx,%eax
437345:	5e                   	pop    %esi
437346:	5b                   	pop    %ebx
437347:	c3                   	ret
437348:	53                   	push   %ebx
437349:	56                   	push   %esi
43734a:	57                   	push   %edi
43734b:	83 c4 f0             	add    $0xfffffff0,%esp
43734e:	8b f2                	mov    %edx,%esi
437350:	8d 3c 24             	lea    (%esp),%edi
437353:	a5                   	movsl  %ds:(%esi),%es:(%edi)
437354:	a5                   	movsl  %ds:(%esi),%es:(%edi)
437355:	a5                   	movsl  %ds:(%esi),%es:(%edi)
437356:	a5                   	movsl  %ds:(%esi),%es:(%edi)
437357:	8b d8                	mov    %eax,%ebx
437359:	8b 43 10             	mov    0x10(%ebx),%eax
43735c:	8b 14 24             	mov    (%esp),%edx
43735f:	3b c2                	cmp    %edx,%eax
437361:	7c 06                	jl     0x437369
437363:	3b 44 24 08          	cmp    0x8(%esp),%eax
437367:	7e 14                	jle    0x43737d
437369:	2b d0                	sub    %eax,%edx
43736b:	8b 4c 24 08          	mov    0x8(%esp),%ecx
43736f:	2b c8                	sub    %eax,%ecx
437371:	8b c1                	mov    %ecx,%eax
437373:	92                   	xchg   %eax,%edx
437374:	e8 ab ff ff ff       	call   0x437324
437379:	8b f0                	mov    %eax,%esi
43737b:	eb 02                	jmp    0x43737f
43737d:	33 f6                	xor    %esi,%esi
43737f:	8b 43 14             	mov    0x14(%ebx),%eax
437382:	8b 54 24 04          	mov    0x4(%esp),%edx
437386:	3b c2                	cmp    %edx,%eax
437388:	7c 06                	jl     0x437390
43738a:	3b 44 24 0c          	cmp    0xc(%esp),%eax
43738e:	7e 12                	jle    0x4373a2
437390:	2b d0                	sub    %eax,%edx
437392:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
437396:	2b c8                	sub    %eax,%ecx
437398:	8b c1                	mov    %ecx,%eax
43739a:	92                   	xchg   %eax,%edx
43739b:	e8 84 ff ff ff       	call   0x437324
4373a0:	eb 02                	jmp    0x4373a4
4373a2:	33 c0                	xor    %eax,%eax
4373a4:	85 f6                	test   %esi,%esi
4373a6:	75 04                	jne    0x4373ac
4373a8:	85 c0                	test   %eax,%eax
4373aa:	74 0f                	je     0x4373bb
4373ac:	f7 d8                	neg    %eax
4373ae:	50                   	push   %eax
4373af:	f7 de                	neg    %esi
4373b1:	56                   	push   %esi
4373b2:	8d 43 4c             	lea    0x4c(%ebx),%eax
4373b5:	50                   	push   %eax
4373b6:	e8 15 fd fc ff       	call   0x4070d0
4373bb:	83 c4 10             	add    $0x10,%esp
4373be:	5f                   	pop    %edi
4373bf:	5e                   	pop    %esi
4373c0:	5b                   	pop    %ebx
4373c1:	c3                   	ret
4373c2:	8b c0                	mov    %eax,%eax
4373c4:	56                   	push   %esi
4373c5:	8b d0                	mov    %eax,%edx
4373c7:	8b 40 40             	mov    0x40(%eax),%eax
4373ca:	66 be db ff          	mov    $0xffdb,%si
4373ce:	e8 1d c7 fc ff       	call   0x403af0
4373d3:	5e                   	pop    %esi
4373d4:	c3                   	ret
4373d5:	8d 40 00             	lea    0x0(%eax),%eax
4373d8:	56                   	push   %esi
4373d9:	8b d0                	mov    %eax,%edx
4373db:	8b 40 40             	mov    0x40(%eax),%eax
4373de:	66 be da ff          	mov    $0xffda,%si
4373e2:	e8 09 c7 fc ff       	call   0x403af0
4373e7:	5e                   	pop    %esi
4373e8:	c3                   	ret
4373e9:	8d 40 00             	lea    0x0(%eax),%eax
4373ec:	55                   	push   %ebp
4373ed:	8b ec                	mov    %esp,%ebp
4373ef:	33 c0                	xor    %eax,%eax
4373f1:	5d                   	pop    %ebp
4373f2:	c2 04 00             	ret    $0x4