42ffda:	8b 55 e0             	mov    -0x20(%ebp),%edx
42ffdd:	8b 47 0c             	mov    0xc(%edi),%eax
42ffe0:	8b 58 08             	mov    0x8(%eax),%ebx
42ffe3:	81 fb e9 fd 00 00    	cmp    $0xfde9,%ebx
42ffe9:	89 5d ec             	mov    %ebx,-0x14(%ebp)
42ffec:	8b 5d 10             	mov    0x10(%ebp),%ebx
42ffef:	75 1e                	jne    0x43000f
42fff1:	57                   	push   %edi
42fff2:	8d 45 d8             	lea    -0x28(%ebp),%eax
42fff5:	89 75 d8             	mov    %esi,-0x28(%ebp)
42fff8:	50                   	push   %eax
42fff9:	53                   	push   %ebx
42fffa:	8d 45 e8             	lea    -0x18(%ebp),%eax
42fffd:	89 75 dc             	mov    %esi,-0x24(%ebp)
430000:	50                   	push   %eax
430001:	52                   	push   %edx
430002:	e8 99 88 00 00       	call   0x4388a0
430007:	83 c4 14             	add    $0x14,%esp
43000a:	e9 f6 01 00 00       	jmp    0x430205
43000f:	8b 98 a8 00 00 00    	mov    0xa8(%eax),%ebx
430015:	89 5d dc             	mov    %ebx,-0x24(%ebp)
430018:	8b 5d 10             	mov    0x10(%ebp),%ebx
43001b:	85 d2                	test   %edx,%edx
43001d:	0f 84 7c 01 00 00    	je     0x43019f
430023:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
430029:	75 36                	jne    0x430061
43002b:	85 db                	test   %ebx,%ebx
43002d:	74 2b                	je     0x43005a
43002f:	b8 ff 00 00 00       	mov    $0xff,%eax
430034:	66 39 01             	cmp    %ax,(%ecx)
430037:	0f 87 ba 01 00 00    	ja     0x4301f7
43003d:	8a 01                	mov    (%ecx),%al
43003f:	88 04 32             	mov    %al,(%edx,%esi,1)
430042:	66 8b 01             	mov    (%ecx),%ax
430045:	83 c1 02             	add    $0x2,%ecx
430048:	89 4d e8             	mov    %ecx,-0x18(%ebp)
43004b:	66 85 c0             	test   %ax,%ax
43004e:	74 0a                	je     0x43005a
430050:	46                   	inc    %esi
430051:	b8 ff 00 00 00       	mov    $0xff,%eax
430056:	3b f3                	cmp    %ebx,%esi
430058:	72 da                	jb     0x430034
43005a:	8b c6                	mov    %esi,%eax
43005c:	e9 a4 01 00 00       	jmp    0x430205
430061:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
430065:	75 56                	jne    0x4300bd
430067:	85 db                	test   %ebx,%ebx
430069:	74 1c                	je     0x430087
43006b:	8b c1                	mov    %ecx,%eax
43006d:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
430070:	66 39 30             	cmp    %si,(%eax)
430073:	74 0b                	je     0x430080
430075:	83 c0 02             	add    $0x2,%eax
430078:	83 6d e4 01          	subl   $0x1,-0x1c(%ebp)
43007c:	75 f2                	jne    0x430070
43007e:	eb 07                	jmp    0x430087
430080:	8b d8                	mov    %eax,%ebx
430082:	2b d9                	sub    %ecx,%ebx
430084:	d1 fb                	sar    $1,%ebx
430086:	43                   	inc    %ebx
430087:	8d 45 f0             	lea    -0x10(%ebp),%eax
43008a:	50                   	push   %eax
43008b:	56                   	push   %esi
43008c:	53                   	push   %ebx
43008d:	52                   	push   %edx
43008e:	53                   	push   %ebx
43008f:	51                   	push   %ecx
430090:	56                   	push   %esi
430091:	ff 75 ec             	push   -0x14(%ebp)
430094:	e8 31 1d 00 00       	call   0x431dca
430099:	83 c4 20             	add    $0x20,%esp
43009c:	85 c0                	test   %eax,%eax
43009e:	0f 84 53 01 00 00    	je     0x4301f7
4300a4:	39 75 f0             	cmp    %esi,-0x10(%ebp)
4300a7:	0f 85 4a 01 00 00    	jne    0x4301f7
4300ad:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4300b0:	80 7c 01 ff 00       	cmpb   $0x0,-0x1(%ecx,%eax,1)
4300b5:	0f 85 4a 01 00 00    	jne    0x430205
4300bb:	eb 26                	jmp    0x4300e3
4300bd:	8d 45 f0             	lea    -0x10(%ebp),%eax
4300c0:	50                   	push   %eax
4300c1:	56                   	push   %esi
4300c2:	53                   	push   %ebx
4300c3:	52                   	push   %edx
4300c4:	6a ff                	push   $0xffffffff
4300c6:	51                   	push   %ecx
4300c7:	56                   	push   %esi
4300c8:	ff 75 ec             	push   -0x14(%ebp)
4300cb:	e8 fa 1c 00 00       	call   0x431dca
4300d0:	83 c4 20             	add    $0x20,%esp
4300d3:	89 45 ec             	mov    %eax,-0x14(%ebp)
4300d6:	39 75 f0             	cmp    %esi,-0x10(%ebp)
4300d9:	0f 85 18 01 00 00    	jne    0x4301f7
4300df:	85 c0                	test   %eax,%eax
4300e1:	74 06                	je     0x4300e9
4300e3:	48                   	dec    %eax
4300e4:	e9 1c 01 00 00       	jmp    0x430205
4300e9:	ff 15 6c e0 43 00    	call   *0x43e06c
4300ef:	83 f8 7a             	cmp    $0x7a,%eax
4300f2:	0f 85 ff 00 00 00    	jne    0x4301f7
4300f8:	85 db                	test   %ebx,%ebx
4300fa:	0f 84 9a 00 00 00    	je     0x43019a
430100:	8b 45 e8             	mov    -0x18(%ebp),%eax
430103:	8b 57 0c             	mov    0xc(%edi),%edx
430106:	8b 4a 04             	mov    0x4(%edx),%ecx
430109:	83 f9 05             	cmp    $0x5,%ecx
43010c:	7e 03                	jle    0x430111
43010e:	6a 05                	push   $0x5
430110:	59                   	pop    %ecx
430111:	8d 5d f0             	lea    -0x10(%ebp),%ebx
430114:	53                   	push   %ebx
430115:	56                   	push   %esi
430116:	51                   	push   %ecx
430117:	8d 4d f4             	lea    -0xc(%ebp),%ecx
43011a:	51                   	push   %ecx
43011b:	6a 01                	push   $0x1
43011d:	50                   	push   %eax
43011e:	56                   	push   %esi
43011f:	ff 72 08             	push   0x8(%edx)
430122:	e8 a3 1c 00 00       	call   0x431dca
430127:	8b 5d 10             	mov    0x10(%ebp),%ebx
43012a:	8b d0                	mov    %eax,%edx
43012c:	83 c4 20             	add    $0x20,%esp
43012f:	89 55 dc             	mov    %edx,-0x24(%ebp)
430132:	85 d2                	test   %edx,%edx
430134:	0f 84 bd 00 00 00    	je     0x4301f7
43013a:	39 75 f0             	cmp    %esi,-0x10(%ebp)
43013d:	0f 85 b4 00 00 00    	jne    0x4301f7
430143:	85 d2                	test   %edx,%edx
430145:	0f 88 ac 00 00 00    	js     0x4301f7
43014b:	83 fa 05             	cmp    $0x5,%edx
43014e:	0f 87 a3 00 00 00    	ja     0x4301f7
430154:	8b 4d ec             	mov    -0x14(%ebp),%ecx
430157:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
43015a:	3b c3                	cmp    %ebx,%eax
43015c:	77 38                	ja     0x430196
43015e:	8b c6                	mov    %esi,%eax
430160:	89 45 e4             	mov    %eax,-0x1c(%ebp)
430163:	85 d2                	test   %edx,%edx
430165:	7e 1e                	jle    0x430185
430167:	8b 55 e0             	mov    -0x20(%ebp),%edx
43016a:	8a 44 05 f4          	mov    -0xc(%ebp,%eax,1),%al
43016e:	88 04 0a             	mov    %al,(%edx,%ecx,1)
430171:	84 c0                	test   %al,%al
430173:	74 21                	je     0x430196
430175:	8b 45 e4             	mov    -0x1c(%ebp),%eax
430178:	40                   	inc    %eax
430179:	41                   	inc    %ecx
43017a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43017d:	89 4d ec             	mov    %ecx,-0x14(%ebp)
430180:	3b 45 dc             	cmp    -0x24(%ebp),%eax
430183:	7c e5                	jl     0x43016a
430185:	8b 45 e8             	mov    -0x18(%ebp),%eax
430188:	83 c0 02             	add    $0x2,%eax
43018b:	89 45 e8             	mov    %eax,-0x18(%ebp)
43018e:	3b cb                	cmp    %ebx,%ecx
430190:	0f 82 6d ff ff ff    	jb     0x430103
430196:	8b c1                	mov    %ecx,%eax
430198:	eb 6b                	jmp    0x430205
43019a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43019d:	eb f7                	jmp    0x430196
43019f:	39 75 dc             	cmp    %esi,-0x24(%ebp)
4301a2:	75 30                	jne    0x4301d4
4301a4:	0f b7 01             	movzwl (%ecx),%eax
4301a7:	66 85 c0             	test   %ax,%ax
4301aa:	0f 84 aa fe ff ff    	je     0x43005a
4301b0:	8b d0                	mov    %eax,%edx
4301b2:	b8 ff 00 00 00       	mov    $0xff,%eax
4301b7:	66 3b d0             	cmp    %ax,%dx
4301ba:	77 3b                	ja     0x4301f7
4301bc:	83 c1 02             	add    $0x2,%ecx
4301bf:	46                   	inc    %esi
4301c0:	0f b7 01             	movzwl (%ecx),%eax
4301c3:	8b d0                	mov    %eax,%edx
4301c5:	66 85 c0             	test   %ax,%ax
4301c8:	b8 ff 00 00 00       	mov    $0xff,%eax
4301cd:	75 e8                	jne    0x4301b7
4301cf:	e9 86 fe ff ff       	jmp    0x43005a
4301d4:	8d 45 f0             	lea    -0x10(%ebp),%eax
4301d7:	50                   	push   %eax
4301d8:	56                   	push   %esi
4301d9:	56                   	push   %esi
4301da:	56                   	push   %esi
4301db:	6a ff                	push   $0xffffffff
4301dd:	51                   	push   %ecx
4301de:	56                   	push   %esi
4301df:	ff 75 ec             	push   -0x14(%ebp)
4301e2:	e8 e3 1b 00 00       	call   0x431dca
4301e7:	83 c4 20             	add    $0x20,%esp
4301ea:	85 c0                	test   %eax,%eax
4301ec:	74 09                	je     0x4301f7
4301ee:	39 75 f0             	cmp    %esi,-0x10(%ebp)
4301f1:	0f 84 ec fe ff ff    	je     0x4300e3
4301f7:	c7 47 18 2a 00 00 00 	movl   $0x2a,0x18(%edi)
4301fe:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
430202:	83 c8 ff             	or     $0xffffffff,%eax
430205:	8b 4d fc             	mov    -0x4(%ebp),%ecx
430208:	5f                   	pop    %edi
430209:	5e                   	pop    %esi
43020a:	33 cd                	xor    %ebp,%ecx
43020c:	5b                   	pop    %ebx
43020d:	e8 98 99 fe ff       	call   0x419baa
430212:	c9                   	leave
430213:	c3                   	ret
430214:	8b ff                	mov    %edi,%edi
430216:	55                   	push   %ebp
430217:	8b ec                	mov    %esp,%ebp
430219:	83 ec 28             	sub    $0x28,%esp
43021c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43021f:	56                   	push   %esi
430220:	ff 75 1c             	push   0x1c(%ebp)
430223:	e8 a8 f2 fe ff       	call   0x41f4d0
430228:	8d 45 d8             	lea    -0x28(%ebp),%eax
43022b:	50                   	push   %eax
43022c:	ff 75 18             	push   0x18(%ebp)
43022f:	ff 75 14             	push   0x14(%ebp)
430232:	ff 75 10             	push   0x10(%ebp)
430235:	ff 75 0c             	push   0xc(%ebp)
430238:	ff 75 08             	push   0x8(%ebp)
43023b:	e8 58 fc ff ff       	call   0x42fe98
430240:	83 c4 18             	add    $0x18,%esp
430243:	8d 4d d8             	lea    -0x28(%ebp),%ecx
430246:	8b f0                	mov    %eax,%esi
430248:	e8 e3 f2 fe ff       	call   0x41f530
43024d:	8b c6                	mov    %esi,%eax
43024f:	5e                   	pop    %esi
430250:	c9                   	leave
430251:	c3                   	ret
430252:	8b ff                	mov    %edi,%edi
430254:	55                   	push   %ebp
430255:	8b ec                	mov    %esp,%ebp
430257:	83 ec 18             	sub    $0x18,%esp
43025a:	a1 14 50 45 00       	mov    0x455014,%eax
43025f:	33 c5                	xor    %ebp,%eax
430261:	89 45 fc             	mov    %eax,-0x4(%ebp)
430264:	53                   	push   %ebx
430265:	56                   	push   %esi
430266:	57                   	push   %edi
430267:	ff 75 08             	push   0x8(%ebp)
43026a:	8d 4d e8             	lea    -0x18(%ebp),%ecx
43026d:	e8 a7 3a ff ff       	call   0x423d19
430272:	8b 45 ec             	mov    -0x14(%ebp),%eax
430275:	33 ff                	xor    %edi,%edi
430277:	57                   	push   %edi
430278:	57                   	push   %edi
430279:	ff 75 10             	push   0x10(%ebp)
43027c:	8b 40 08             	mov    0x8(%eax),%eax
43027f:	ff 75 0c             	push   0xc(%ebp)
430282:	89 45 f8             	mov    %eax,-0x8(%ebp)
430285:	e8 86 d4 ff ff       	call   0x42d710
43028a:	8b d8                	mov    %eax,%ebx
43028c:	85 db                	test   %ebx,%ebx
43028e:	74 7d                	je     0x43030d
430290:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
430293:	8d 48 08             	lea    0x8(%eax),%ecx
430296:	3b c1                	cmp    %ecx,%eax
430298:	1b c0                	sbb    %eax,%eax
43029a:	23 c1                	and    %ecx,%eax
43029c:	74 66                	je     0x430304
43029e:	3d 00 04 00 00       	cmp    $0x400,%eax
4302a3:	77 13                	ja     0x4302b8
4302a5:	e8 06 a3 fe ff       	call   0x41a5b0
4302aa:	8b f4                	mov    %esp,%esi
4302ac:	85 f6                	test   %esi,%esi
4302ae:	74 56                	je     0x430306
4302b0:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
4302b6:	eb 13                	jmp    0x4302cb
4302b8:	50                   	push   %eax
4302b9:	e8 36 a6 ff ff       	call   0x42a8f4
4302be:	8b f0                	mov    %eax,%esi
4302c0:	59                   	pop    %ecx
4302c1:	85 f6                	test   %esi,%esi
4302c3:	74 41                	je     0x430306
4302c5:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
4302cb:	83 c6 08             	add    $0x8,%esi
4302ce:	85 f6                	test   %esi,%esi
4302d0:	74 34                	je     0x430306
4302d2:	53                   	push   %ebx
4302d3:	56                   	push   %esi
4302d4:	ff 75 10             	push   0x10(%ebp)
4302d7:	ff 75 0c             	push   0xc(%ebp)
4302da:	e8 31 d4 ff ff       	call   0x42d710
4302df:	85 c0                	test   %eax,%eax
4302e1:	74 23                	je     0x430306
4302e3:	8b 45 18             	mov    0x18(%ebp),%eax
4302e6:	57                   	push   %edi
4302e7:	57                   	push   %edi
4302e8:	50                   	push   %eax
4302e9:	f7 d8                	neg    %eax
4302eb:	1b c0                	sbb    %eax,%eax
4302ed:	23 45 14             	and    0x14(%ebp),%eax
4302f0:	50                   	push   %eax
4302f1:	6a ff                	push   $0xffffffff
4302f3:	56                   	push   %esi
4302f4:	57                   	push   %edi
4302f5:	ff 75 f8             	push   -0x8(%ebp)
4302f8:	e8 cd 1a 00 00       	call   0x431dca
4302fd:	83 c4 20             	add    $0x20,%esp
430300:	8b f8                	mov    %eax,%edi
430302:	eb 02                	jmp    0x430306
430304:	8b f7                	mov    %edi,%esi
430306:	56                   	push   %esi
430307:	e8 d2 95 fe ff       	call   0x4198de
43030c:	59                   	pop    %ecx
43030d:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
430311:	74 0a                	je     0x43031d
430313:	8b 45 e8             	mov    -0x18(%ebp),%eax
430316:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
43031d:	8b c7                	mov    %edi,%eax
43031f:	8d 65 dc             	lea    -0x24(%ebp),%esp
430322:	5f                   	pop    %edi
430323:	5e                   	pop    %esi
430324:	5b                   	pop    %ebx
430325:	8b 4d fc             	mov    -0x4(%ebp),%ecx
430328:	33 cd                	xor    %ebp,%ecx
43032a:	e8 7b 98 fe ff       	call   0x419baa
43032f:	c9                   	leave
430330:	c3                   	ret
430331:	8b ff                	mov    %edi,%edi
430333:	55                   	push   %ebp
430334:	8b ec                	mov    %esp,%ebp
430336:	81 ec 90 00 00 00    	sub    $0x90,%esp
43033c:	a1 14 50 45 00       	mov    0x455014,%eax
430341:	33 c5                	xor    %ebp,%eax
430343:	89 45 fc             	mov    %eax,-0x4(%ebp)
430346:	8b 45 0c             	mov    0xc(%ebp),%eax
430349:	8b 4d 08             	mov    0x8(%ebp),%ecx
43034c:	53                   	push   %ebx
43034d:	8b 5d 18             	mov    0x18(%ebp),%ebx
430350:	56                   	push   %esi
430351:	8b 75 10             	mov    0x10(%ebp),%esi
430354:	57                   	push   %edi
430355:	33 ff                	xor    %edi,%edi
430357:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
43035d:	89 b5 78 ff ff ff    	mov    %esi,-0x88(%ebp)
430363:	89 3b                	mov    %edi,(%ebx)
430365:	83 f8 01             	cmp    $0x1,%eax
430368:	0f 85 e2 00 00 00    	jne    0x430450
43036e:	68 80 00 00 00       	push   $0x80
430373:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
430379:	50                   	push   %eax
43037a:	ff 75 14             	push   0x14(%ebp)
43037d:	56                   	push   %esi
43037e:	51                   	push   %ecx
43037f:	e8 ce fe ff ff       	call   0x430252
430384:	83 c4 14             	add    $0x14,%esp
430387:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
43038d:	85 c0                	test   %eax,%eax
43038f:	74 46                	je     0x4303d7
430391:	6a 01                	push   $0x1