43a023:	8b ec                	mov    %esp,%ebp
43a025:	83 ec 10             	sub    $0x10,%esp
43a028:	ff 75 0c             	push   0xc(%ebp)
43a02b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43a02e:	e8 84 79 ff ff       	call   0x4319b7
43a033:	8b 45 f4             	mov    -0xc(%ebp),%eax
43a036:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
43a03a:	8b 00                	mov    (%eax),%eax
43a03c:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
43a040:	25 00 80 00 00       	and    $0x8000,%eax
43a045:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
43a049:	74 0a                	je     0x43a055
43a04b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43a04e:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
43a055:	8b e5                	mov    %ebp,%esp
43a057:	5d                   	pop    %ebp
43a058:	c3                   	ret
43a059:	8b ff                	mov    %edi,%edi
43a05b:	55                   	push   %ebp
43a05c:	8b ec                	mov    %esp,%ebp
43a05e:	51                   	push   %ecx
43a05f:	51                   	push   %ecx
43a060:	a1 08 a0 46 00       	mov    0x46a008,%eax
43a065:	33 c5                	xor    %ebp,%eax
43a067:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a06a:	53                   	push   %ebx
43a06b:	56                   	push   %esi
43a06c:	8b 75 18             	mov    0x18(%ebp),%esi
43a06f:	57                   	push   %edi
43a070:	85 f6                	test   %esi,%esi
43a072:	7e 14                	jle    0x43a088
43a074:	56                   	push   %esi
43a075:	ff 75 14             	push   0x14(%ebp)
43a078:	e8 f8 25 00 00       	call   0x43c675
43a07d:	59                   	pop    %ecx
43a07e:	3b c6                	cmp    %esi,%eax
43a080:	59                   	pop    %ecx
43a081:	8d 70 01             	lea    0x1(%eax),%esi
43a084:	7c 02                	jl     0x43a088
43a086:	8b f0                	mov    %eax,%esi
43a088:	8b 7d 24             	mov    0x24(%ebp),%edi
43a08b:	85 ff                	test   %edi,%edi
43a08d:	75 0b                	jne    0x43a09a
43a08f:	8b 45 08             	mov    0x8(%ebp),%eax
43a092:	8b 00                	mov    (%eax),%eax
43a094:	8b 78 08             	mov    0x8(%eax),%edi
43a097:	89 7d 24             	mov    %edi,0x24(%ebp)
43a09a:	33 c0                	xor    %eax,%eax
43a09c:	39 45 28             	cmp    %eax,0x28(%ebp)
43a09f:	6a 00                	push   $0x0
43a0a1:	6a 00                	push   $0x0
43a0a3:	56                   	push   %esi
43a0a4:	ff 75 14             	push   0x14(%ebp)
43a0a7:	0f 95 c0             	setne  %al
43a0aa:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
43a0b1:	50                   	push   %eax
43a0b2:	57                   	push   %edi
43a0b3:	ff 15 fc b0 44 00    	call   *0x44b0fc
43a0b9:	89 45 f8             	mov    %eax,-0x8(%ebp)
43a0bc:	85 c0                	test   %eax,%eax
43a0be:	0f 84 8d 01 00 00    	je     0x43a251
43a0c4:	8d 14 00             	lea    (%eax,%eax,1),%edx
43a0c7:	8d 4a 08             	lea    0x8(%edx),%ecx
43a0ca:	3b d1                	cmp    %ecx,%edx
43a0cc:	1b c0                	sbb    %eax,%eax
43a0ce:	85 c1                	test   %eax,%ecx
43a0d0:	74 52                	je     0x43a124
43a0d2:	8d 4a 08             	lea    0x8(%edx),%ecx
43a0d5:	3b d1                	cmp    %ecx,%edx
43a0d7:	1b c0                	sbb    %eax,%eax
43a0d9:	23 c1                	and    %ecx,%eax
43a0db:	8d 4a 08             	lea    0x8(%edx),%ecx
43a0de:	3d 00 04 00 00       	cmp    $0x400,%eax
43a0e3:	77 1d                	ja     0x43a102
43a0e5:	3b d1                	cmp    %ecx,%edx
43a0e7:	1b c0                	sbb    %eax,%eax
43a0e9:	23 c1                	and    %ecx,%eax
43a0eb:	e8 00 fd 00 00       	call   0x449df0
43a0f0:	8b dc                	mov    %esp,%ebx
43a0f2:	85 db                	test   %ebx,%ebx
43a0f4:	0f 84 4c 01 00 00    	je     0x43a246
43a0fa:	c7 03 cc cc 00 00    	movl   $0xcccc,(%ebx)
43a100:	eb 1d                	jmp    0x43a11f
43a102:	3b d1                	cmp    %ecx,%edx
43a104:	1b c0                	sbb    %eax,%eax
43a106:	23 c1                	and    %ecx,%eax
43a108:	50                   	push   %eax
43a109:	e8 46 b0 ff ff       	call   0x435154
43a10e:	8b d8                	mov    %eax,%ebx
43a110:	59                   	pop    %ecx
43a111:	85 db                	test   %ebx,%ebx
43a113:	0f 84 2d 01 00 00    	je     0x43a246
43a119:	c7 03 dd dd 00 00    	movl   $0xdddd,(%ebx)
43a11f:	83 c3 08             	add    $0x8,%ebx
43a122:	eb 02                	jmp    0x43a126
43a124:	33 db                	xor    %ebx,%ebx
43a126:	85 db                	test   %ebx,%ebx
43a128:	0f 84 18 01 00 00    	je     0x43a246
43a12e:	ff 75 f8             	push   -0x8(%ebp)
43a131:	53                   	push   %ebx
43a132:	56                   	push   %esi
43a133:	ff 75 14             	push   0x14(%ebp)
43a136:	6a 01                	push   $0x1
43a138:	57                   	push   %edi
43a139:	ff 15 fc b0 44 00    	call   *0x44b0fc
43a13f:	85 c0                	test   %eax,%eax
43a141:	0f 84 ff 00 00 00    	je     0x43a246
43a147:	8b 7d f8             	mov    -0x8(%ebp),%edi
43a14a:	33 c0                	xor    %eax,%eax
43a14c:	50                   	push   %eax
43a14d:	50                   	push   %eax
43a14e:	50                   	push   %eax
43a14f:	50                   	push   %eax
43a150:	50                   	push   %eax
43a151:	57                   	push   %edi
43a152:	53                   	push   %ebx
43a153:	ff 75 10             	push   0x10(%ebp)
43a156:	ff 75 0c             	push   0xc(%ebp)
43a159:	e8 0b e8 ff ff       	call   0x438969
43a15e:	8b f0                	mov    %eax,%esi
43a160:	85 f6                	test   %esi,%esi
43a162:	0f 84 de 00 00 00    	je     0x43a246
43a168:	f7 45 10 00 04 00 00 	testl  $0x400,0x10(%ebp)
43a16f:	74 38                	je     0x43a1a9
43a171:	8b 45 20             	mov    0x20(%ebp),%eax
43a174:	85 c0                	test   %eax,%eax
43a176:	0f 84 cc 00 00 00    	je     0x43a248
43a17c:	3b f0                	cmp    %eax,%esi
43a17e:	0f 8f c2 00 00 00    	jg     0x43a246
43a184:	33 c9                	xor    %ecx,%ecx
43a186:	51                   	push   %ecx
43a187:	51                   	push   %ecx
43a188:	51                   	push   %ecx
43a189:	50                   	push   %eax
43a18a:	ff 75 1c             	push   0x1c(%ebp)
43a18d:	57                   	push   %edi
43a18e:	53                   	push   %ebx
43a18f:	ff 75 10             	push   0x10(%ebp)
43a192:	ff 75 0c             	push   0xc(%ebp)
43a195:	e8 cf e7 ff ff       	call   0x438969
43a19a:	8b f0                	mov    %eax,%esi
43a19c:	85 f6                	test   %esi,%esi
43a19e:	0f 85 a4 00 00 00    	jne    0x43a248
43a1a4:	e9 9d 00 00 00       	jmp    0x43a246
43a1a9:	8d 14 36             	lea    (%esi,%esi,1),%edx
43a1ac:	8d 4a 08             	lea    0x8(%edx),%ecx
43a1af:	3b d1                	cmp    %ecx,%edx
43a1b1:	1b c0                	sbb    %eax,%eax
43a1b3:	85 c1                	test   %eax,%ecx
43a1b5:	74 4a                	je     0x43a201
43a1b7:	8d 4a 08             	lea    0x8(%edx),%ecx
43a1ba:	3b d1                	cmp    %ecx,%edx
43a1bc:	1b c0                	sbb    %eax,%eax
43a1be:	23 c1                	and    %ecx,%eax
43a1c0:	8d 4a 08             	lea    0x8(%edx),%ecx
43a1c3:	3d 00 04 00 00       	cmp    $0x400,%eax
43a1c8:	77 19                	ja     0x43a1e3
43a1ca:	3b d1                	cmp    %ecx,%edx
43a1cc:	1b c0                	sbb    %eax,%eax
43a1ce:	23 c1                	and    %ecx,%eax
43a1d0:	e8 1b fc 00 00       	call   0x449df0
43a1d5:	8b fc                	mov    %esp,%edi
43a1d7:	85 ff                	test   %edi,%edi
43a1d9:	74 64                	je     0x43a23f
43a1db:	c7 07 cc cc 00 00    	movl   $0xcccc,(%edi)
43a1e1:	eb 19                	jmp    0x43a1fc
43a1e3:	3b d1                	cmp    %ecx,%edx
43a1e5:	1b c0                	sbb    %eax,%eax
43a1e7:	23 c1                	and    %ecx,%eax
43a1e9:	50                   	push   %eax
43a1ea:	e8 65 af ff ff       	call   0x435154
43a1ef:	8b f8                	mov    %eax,%edi
43a1f1:	59                   	pop    %ecx
43a1f2:	85 ff                	test   %edi,%edi
43a1f4:	74 49                	je     0x43a23f
43a1f6:	c7 07 dd dd 00 00    	movl   $0xdddd,(%edi)
43a1fc:	83 c7 08             	add    $0x8,%edi
43a1ff:	eb 02                	jmp    0x43a203
43a201:	33 ff                	xor    %edi,%edi
43a203:	85 ff                	test   %edi,%edi
43a205:	74 38                	je     0x43a23f
43a207:	6a 00                	push   $0x0
43a209:	6a 00                	push   $0x0
43a20b:	6a 00                	push   $0x0
43a20d:	56                   	push   %esi
43a20e:	57                   	push   %edi
43a20f:	ff 75 f8             	push   -0x8(%ebp)
43a212:	53                   	push   %ebx
43a213:	ff 75 10             	push   0x10(%ebp)
43a216:	ff 75 0c             	push   0xc(%ebp)
43a219:	e8 4b e7 ff ff       	call   0x438969
43a21e:	85 c0                	test   %eax,%eax
43a220:	74 1d                	je     0x43a23f
43a222:	33 c0                	xor    %eax,%eax
43a224:	50                   	push   %eax
43a225:	50                   	push   %eax
43a226:	39 45 20             	cmp    %eax,0x20(%ebp)
43a229:	75 3a                	jne    0x43a265
43a22b:	50                   	push   %eax
43a22c:	50                   	push   %eax
43a22d:	56                   	push   %esi
43a22e:	57                   	push   %edi
43a22f:	50                   	push   %eax
43a230:	ff 75 24             	push   0x24(%ebp)
43a233:	ff 15 00 b1 44 00    	call   *0x44b100
43a239:	8b f0                	mov    %eax,%esi
43a23b:	85 f6                	test   %esi,%esi
43a23d:	75 2e                	jne    0x43a26d
43a23f:	57                   	push   %edi
43a240:	e8 82 ef ff ff       	call   0x4391c7
43a245:	59                   	pop    %ecx
43a246:	33 f6                	xor    %esi,%esi
43a248:	53                   	push   %ebx
43a249:	e8 79 ef ff ff       	call   0x4391c7
43a24e:	59                   	pop    %ecx
43a24f:	8b c6                	mov    %esi,%eax
43a251:	8d 65 ec             	lea    -0x14(%ebp),%esp
43a254:	5f                   	pop    %edi
43a255:	5e                   	pop    %esi
43a256:	5b                   	pop    %ebx
43a257:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a25a:	33 cd                	xor    %ebp,%ecx
43a25c:	e8 d5 3b ff ff       	call   0x42de36
43a261:	8b e5                	mov    %ebp,%esp
43a263:	5d                   	pop    %ebp
43a264:	c3                   	ret
43a265:	ff 75 20             	push   0x20(%ebp)
43a268:	ff 75 1c             	push   0x1c(%ebp)
43a26b:	eb c0                	jmp    0x43a22d
43a26d:	57                   	push   %edi
43a26e:	e8 54 ef ff ff       	call   0x4391c7
43a273:	59                   	pop    %ecx
43a274:	eb d2                	jmp    0x43a248
43a276:	8b ff                	mov    %edi,%edi
43a278:	55                   	push   %ebp
43a279:	8b ec                	mov    %esp,%ebp
43a27b:	83 ec 10             	sub    $0x10,%esp
43a27e:	ff 75 08             	push   0x8(%ebp)
43a281:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43a284:	e8 2e 77 ff ff       	call   0x4319b7
43a289:	ff 75 28             	push   0x28(%ebp)
43a28c:	8d 45 f4             	lea    -0xc(%ebp),%eax
43a28f:	ff 75 24             	push   0x24(%ebp)
43a292:	ff 75 20             	push   0x20(%ebp)
43a295:	ff 75 1c             	push   0x1c(%ebp)
43a298:	ff 75 18             	push   0x18(%ebp)
43a29b:	ff 75 14             	push   0x14(%ebp)
43a29e:	ff 75 10             	push   0x10(%ebp)
43a2a1:	ff 75 0c             	push   0xc(%ebp)
43a2a4:	50                   	push   %eax
43a2a5:	e8 af fd ff ff       	call   0x43a059
43a2aa:	83 c4 24             	add    $0x24,%esp
43a2ad:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
43a2b1:	74 0a                	je     0x43a2bd
43a2b3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43a2b6:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
43a2bd:	8b e5                	mov    %ebp,%esp
43a2bf:	5d                   	pop    %ebp
43a2c0:	c3                   	ret
43a2c1:	8b ff                	mov    %edi,%edi
43a2c3:	55                   	push   %ebp
43a2c4:	8b ec                	mov    %esp,%ebp
43a2c6:	8b 55 08             	mov    0x8(%ebp),%edx
43a2c9:	56                   	push   %esi
43a2ca:	85 d2                	test   %edx,%edx
43a2cc:	75 16                	jne    0x43a2e4
43a2ce:	e8 63 9b ff ff       	call   0x433e36
43a2d3:	6a 16                	push   $0x16
43a2d5:	5e                   	pop    %esi
43a2d6:	89 30                	mov    %esi,(%eax)
43a2d8:	e8 9d 9a ff ff       	call   0x433d7a
43a2dd:	8b c6                	mov    %esi,%eax
43a2df:	e9 96 00 00 00       	jmp    0x43a37a
43a2e4:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
43a2e8:	76 e4                	jbe    0x43a2ce
43a2ea:	8b 4d 10             	mov    0x10(%ebp),%ecx
43a2ed:	c6 02 00             	movb   $0x0,(%edx)
43a2f0:	85 c9                	test   %ecx,%ecx
43a2f2:	7e 04                	jle    0x43a2f8
43a2f4:	8b c1                	mov    %ecx,%eax
43a2f6:	eb 02                	jmp    0x43a2fa
43a2f8:	33 c0                	xor    %eax,%eax
43a2fa:	40                   	inc    %eax
43a2fb:	39 45 0c             	cmp    %eax,0xc(%ebp)
43a2fe:	77 09                	ja     0x43a309
43a300:	e8 31 9b ff ff       	call   0x433e36
43a305:	6a 22                	push   $0x22
43a307:	eb cc                	jmp    0x43a2d5
43a309:	8b 75 14             	mov    0x14(%ebp),%esi
43a30c:	85 f6                	test   %esi,%esi
43a30e:	74 be                	je     0x43a2ce
43a310:	53                   	push   %ebx
43a311:	8d 5a 01             	lea    0x1(%edx),%ebx
43a314:	8b c3                	mov    %ebx,%eax
43a316:	57                   	push   %edi
43a317:	8b 7e 08             	mov    0x8(%esi),%edi
43a31a:	c6 02 30             	movb   $0x30,(%edx)
43a31d:	85 c9                	test   %ecx,%ecx
43a31f:	7e 16                	jle    0x43a337
43a321:	8a 1f                	mov    (%edi),%bl
43a323:	84 db                	test   %bl,%bl
43a325:	74 03                	je     0x43a32a
43a327:	47                   	inc    %edi
43a328:	eb 02                	jmp    0x43a32c
43a32a:	b3 30                	mov    $0x30,%bl
43a32c:	88 18                	mov    %bl,(%eax)
43a32e:	40                   	inc    %eax
43a32f:	49                   	dec    %ecx
43a330:	85 c9                	test   %ecx,%ecx
43a332:	7f ed                	jg     0x43a321
43a334:	8d 5a 01             	lea    0x1(%edx),%ebx
43a337:	c6 00 00             	movb   $0x0,(%eax)
43a33a:	85 c9                	test   %ecx,%ecx
43a33c:	78 12                	js     0x43a350
43a33e:	80 3f 35             	cmpb   $0x35,(%edi)
43a341:	7c 0d                	jl     0x43a350
43a343:	eb 03                	jmp    0x43a348
43a345:	c6 00 30             	movb   $0x30,(%eax)
43a348:	48                   	dec    %eax
43a349:	80 38 39             	cmpb   $0x39,(%eax)
43a34c:	74 f7                	je     0x43a345
43a34e:	fe 00                	incb   (%eax)
43a350:	80 3a 31             	cmpb   $0x31,(%edx)
43a353:	75 05                	jne    0x43a35a
43a355:	ff 46 04             	incl   0x4(%esi)
43a358:	eb 1c                	jmp    0x43a376
43a35a:	8b cb                	mov    %ebx,%ecx
43a35c:	8d 71 01             	lea    0x1(%ecx),%esi
43a35f:	8a 01                	mov    (%ecx),%al
43a361:	41                   	inc    %ecx
43a362:	84 c0                	test   %al,%al
43a364:	75 f9                	jne    0x43a35f
43a366:	2b ce                	sub    %esi,%ecx
43a368:	8d 41 01             	lea    0x1(%ecx),%eax
43a36b:	50                   	push   %eax
43a36c:	53                   	push   %ebx
43a36d:	52                   	push   %edx
43a36e:	e8 fd 47 ff ff       	call   0x42eb70
43a373:	83 c4 0c             	add    $0xc,%esp
43a376:	5f                   	pop    %edi
43a377:	33 c0                	xor    %eax,%eax
43a379:	5b                   	pop    %ebx
43a37a:	5e                   	pop    %esi
43a37b:	5d                   	pop    %ebp
43a37c:	c3                   	ret
43a37d:	8b ff                	mov    %edi,%edi
43a37f:	56                   	push   %esi
43a380:	8b f1                	mov    %ecx,%esi
43a382:	56                   	push   %esi
43a383:	e8 09 23 00 00       	call   0x43c691