43a048:	57                   	push   %edi
43a049:	8b fa                	mov    %edx,%edi
43a04b:	88 4d f8             	mov    %cl,-0x8(%ebp)
43a04e:	80 78 15 00          	cmpb   $0x0,0x15(%eax)
43a052:	75 1c                	jne    0x43a070
43a054:	8b 33                	mov    (%ebx),%esi
43a056:	3b 70 0c             	cmp    0xc(%eax),%esi
43a059:	8b f8                	mov    %eax,%edi
43a05b:	0f 92 c1             	setb   %cl
43a05e:	88 4d f8             	mov    %cl,-0x8(%ebp)
43a061:	73 04                	jae    0x43a067
43a063:	8b 00                	mov    (%eax),%eax
43a065:	eb 03                	jmp    0x43a06a
43a067:	8b 40 08             	mov    0x8(%eax),%eax
43a06a:	80 78 15 00          	cmpb   $0x0,0x15(%eax)
43a06e:	74 e6                	je     0x43a056
43a070:	8b c7                	mov    %edi,%eax
43a072:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a075:	84 c9                	test   %cl,%cl
43a077:	74 29                	je     0x43a0a2
43a079:	3b 3a                	cmp    (%edx),%edi
43a07b:	75 1a                	jne    0x43a097
43a07d:	53                   	push   %ebx
43a07e:	57                   	push   %edi
43a07f:	6a 01                	push   $0x1
43a081:	8d 45 f8             	lea    -0x8(%ebp),%eax
43a084:	50                   	push   %eax
43a085:	e8 ac fb ff ff       	call   0x439c36
43a08a:	8b 08                	mov    (%eax),%ecx
43a08c:	8b 45 08             	mov    0x8(%ebp),%eax
43a08f:	89 08                	mov    %ecx,(%eax)
43a091:	c6 40 04 01          	movb   $0x1,0x4(%eax)
43a095:	eb 35                	jmp    0x43a0cc
43a097:	8d 4d fc             	lea    -0x4(%ebp),%ecx
43a09a:	e8 d4 fa ff ff       	call   0x439b73
43a09f:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a0a2:	8b 48 0c             	mov    0xc(%eax),%ecx
43a0a5:	8b 75 08             	mov    0x8(%ebp),%esi
43a0a8:	3b 0b                	cmp    (%ebx),%ecx
43a0aa:	73 18                	jae    0x43a0c4
43a0ac:	53                   	push   %ebx
43a0ad:	57                   	push   %edi
43a0ae:	ff 75 f8             	push   -0x8(%ebp)
43a0b1:	8d 45 f8             	lea    -0x8(%ebp),%eax
43a0b4:	50                   	push   %eax
43a0b5:	e8 7c fb ff ff       	call   0x439c36
43a0ba:	c6 46 04 01          	movb   $0x1,0x4(%esi)
43a0be:	8b 08                	mov    (%eax),%ecx
43a0c0:	89 0e                	mov    %ecx,(%esi)
43a0c2:	eb 06                	jmp    0x43a0ca
43a0c4:	89 06                	mov    %eax,(%esi)
43a0c6:	c6 46 04 00          	movb   $0x0,0x4(%esi)
43a0ca:	8b c6                	mov    %esi,%eax
43a0cc:	5f                   	pop    %edi
43a0cd:	5e                   	pop    %esi
43a0ce:	5b                   	pop    %ebx
43a0cf:	c9                   	leave
43a0d0:	c2 08 00             	ret    $0x8
43a0d3:	8b ff                	mov    %edi,%edi
43a0d5:	55                   	push   %ebp
43a0d6:	8b ec                	mov    %esp,%ebp
43a0d8:	6a 18                	push   $0x18
43a0da:	ff 15 14 74 4a 00    	call   *0x4a7414
43a0e0:	8b d0                	mov    %eax,%edx
43a0e2:	8b 45 14             	mov    0x14(%ebp),%eax
43a0e5:	59                   	pop    %ecx
43a0e6:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a0e9:	89 0a                	mov    %ecx,(%edx)
43a0eb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43a0ee:	89 4a 04             	mov    %ecx,0x4(%edx)
43a0f1:	8b 4d 10             	mov    0x10(%ebp),%ecx
43a0f4:	89 4a 08             	mov    %ecx,0x8(%edx)
43a0f7:	8b 08                	mov    (%eax),%ecx
43a0f9:	89 4a 0c             	mov    %ecx,0xc(%edx)
43a0fc:	8b 40 04             	mov    0x4(%eax),%eax
43a0ff:	89 42 10             	mov    %eax,0x10(%edx)
43a102:	8b c2                	mov    %edx,%eax
43a104:	66 c7 42 14 00 00    	movw   $0x0,0x14(%edx)
43a10a:	5d                   	pop    %ebp
43a10b:	c2 14 00             	ret    $0x14
43a10e:	6a 18                	push   $0x18
43a110:	ff 15 14 74 4a 00    	call   *0x4a7414
43a116:	59                   	pop    %ecx
43a117:	33 c9                	xor    %ecx,%ecx
43a119:	89 08                	mov    %ecx,(%eax)
43a11b:	89 48 04             	mov    %ecx,0x4(%eax)
43a11e:	89 48 08             	mov    %ecx,0x8(%eax)
43a121:	66 c7 40 14 01 00    	movw   $0x1,0x14(%eax)
43a127:	c3                   	ret
43a128:	8b ff                	mov    %edi,%edi
43a12a:	55                   	push   %ebp
43a12b:	8b ec                	mov    %esp,%ebp
43a12d:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a130:	8b 11                	mov    (%ecx),%edx
43a132:	8b 42 08             	mov    0x8(%edx),%eax
43a135:	89 01                	mov    %eax,(%ecx)
43a137:	8b 42 08             	mov    0x8(%edx),%eax
43a13a:	80 78 15 00          	cmpb   $0x0,0x15(%eax)
43a13e:	75 03                	jne    0x43a143
43a140:	89 48 04             	mov    %ecx,0x4(%eax)
43a143:	8b 41 04             	mov    0x4(%ecx),%eax
43a146:	89 42 04             	mov    %eax,0x4(%edx)
43a149:	a1 28 4b 4a 00       	mov    0x4a4b28,%eax
43a14e:	3b 48 04             	cmp    0x4(%eax),%ecx
43a151:	75 05                	jne    0x43a158
43a153:	89 50 04             	mov    %edx,0x4(%eax)
43a156:	eb 0f                	jmp    0x43a167
43a158:	8b 41 04             	mov    0x4(%ecx),%eax
43a15b:	3b 48 08             	cmp    0x8(%eax),%ecx
43a15e:	75 05                	jne    0x43a165
43a160:	89 50 08             	mov    %edx,0x8(%eax)
43a163:	eb 02                	jmp    0x43a167
43a165:	89 10                	mov    %edx,(%eax)
43a167:	89 4a 08             	mov    %ecx,0x8(%edx)
43a16a:	89 51 04             	mov    %edx,0x4(%ecx)
43a16d:	5d                   	pop    %ebp
43a16e:	c2 04 00             	ret    $0x4
43a171:	8b ff                	mov    %edi,%edi
43a173:	55                   	push   %ebp
43a174:	8b ec                	mov    %esp,%ebp
43a176:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a179:	8b 51 08             	mov    0x8(%ecx),%edx
43a17c:	8b 02                	mov    (%edx),%eax
43a17e:	89 41 08             	mov    %eax,0x8(%ecx)
43a181:	8b 02                	mov    (%edx),%eax
43a183:	80 78 15 00          	cmpb   $0x0,0x15(%eax)
43a187:	75 03                	jne    0x43a18c
43a189:	89 48 04             	mov    %ecx,0x4(%eax)
43a18c:	8b 41 04             	mov    0x4(%ecx),%eax
43a18f:	89 42 04             	mov    %eax,0x4(%edx)
43a192:	a1 28 4b 4a 00       	mov    0x4a4b28,%eax
43a197:	3b 48 04             	cmp    0x4(%eax),%ecx
43a19a:	75 05                	jne    0x43a1a1
43a19c:	89 50 04             	mov    %edx,0x4(%eax)
43a19f:	eb 0e                	jmp    0x43a1af
43a1a1:	8b 41 04             	mov    0x4(%ecx),%eax
43a1a4:	3b 08                	cmp    (%eax),%ecx
43a1a6:	75 04                	jne    0x43a1ac
43a1a8:	89 10                	mov    %edx,(%eax)
43a1aa:	eb 03                	jmp    0x43a1af
43a1ac:	89 50 08             	mov    %edx,0x8(%eax)
43a1af:	89 0a                	mov    %ecx,(%edx)
43a1b1:	89 51 04             	mov    %edx,0x4(%ecx)
43a1b4:	5d                   	pop    %ebp
43a1b5:	c2 04 00             	ret    $0x4
43a1b8:	8b ff                	mov    %edi,%edi
43a1ba:	55                   	push   %ebp
43a1bb:	8b ec                	mov    %esp,%ebp
43a1bd:	56                   	push   %esi
43a1be:	57                   	push   %edi
43a1bf:	8b 7d 08             	mov    0x8(%ebp),%edi
43a1c2:	8b f7                	mov    %edi,%esi
43a1c4:	80 7f 15 00          	cmpb   $0x0,0x15(%edi)
43a1c8:	75 1f                	jne    0x43a1e9
43a1ca:	ff 76 08             	push   0x8(%esi)
43a1cd:	b9 24 4b 4a 00       	mov    $0x4a4b24,%ecx
43a1d2:	e8 e1 ff ff ff       	call   0x43a1b8
43a1d7:	8b 36                	mov    (%esi),%esi
43a1d9:	57                   	push   %edi
43a1da:	ff 15 10 74 4a 00    	call   *0x4a7410
43a1e0:	80 7e 15 00          	cmpb   $0x0,0x15(%esi)
43a1e4:	8b fe                	mov    %esi,%edi
43a1e6:	59                   	pop    %ecx
43a1e7:	74 e1                	je     0x43a1ca
43a1e9:	5f                   	pop    %edi
43a1ea:	5e                   	pop    %esi
43a1eb:	5d                   	pop    %ebp
43a1ec:	c2 04 00             	ret    $0x4
43a1ef:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
43a1f3:	75 09                	jne    0x43a1fe
43a1f5:	ff 71 0c             	push   0xc(%ecx)
43a1f8:	ff 15 70 c0 4a 00    	call   *0x4ac070
43a1fe:	c3                   	ret
43a1ff:	6a 08                	push   $0x8
43a201:	68 78 95 49 00       	push   $0x499578
43a206:	e8 cd 66 05 00       	call   0x4908d8
43a20b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43a20f:	ff 75 08             	push   0x8(%ebp)
43a212:	52                   	push   %edx
43a213:	51                   	push   %ecx
43a214:	ff 15 74 c0 4a 00    	call   *0x4ac074
43a21a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43a221:	eb 11                	jmp    0x43a234
43a223:	33 c0                	xor    %eax,%eax
43a225:	40                   	inc    %eax
43a226:	c3                   	ret
43a227:	8b 65 e8             	mov    -0x18(%ebp),%esp
43a22a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43a231:	6a 12                	push   $0x12
43a233:	58                   	pop    %eax
43a234:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43a237:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43a23e:	59                   	pop    %ecx
43a23f:	5f                   	pop    %edi
43a240:	5e                   	pop    %esi
43a241:	5b                   	pop    %ebx
43a242:	c9                   	leave
43a243:	c2 04 00             	ret    $0x4
43a246:	6a 14                	push   $0x14
43a248:	68 98 95 49 00       	push   $0x499598
43a24d:	e8 86 66 05 00       	call   0x4908d8
43a252:	8b da                	mov    %edx,%ebx
43a254:	89 5d dc             	mov    %ebx,-0x24(%ebp)
43a257:	8b f9                	mov    %ecx,%edi
43a259:	89 7d e0             	mov    %edi,-0x20(%ebp)
43a25c:	33 f6                	xor    %esi,%esi
43a25e:	89 33                	mov    %esi,(%ebx)
43a260:	89 37                	mov    %esi,(%edi)
43a262:	39 35 e8 59 4a 00    	cmp    %esi,0x4a59e8
43a268:	75 6b                	jne    0x43a2d5
43a26a:	89 75 fc             	mov    %esi,-0x4(%ebp)
43a26d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43a270:	50                   	push   %eax
43a271:	57                   	push   %edi
43a272:	ff 15 78 c0 4a 00    	call   *0x4ac078
43a278:	85 c0                	test   %eax,%eax
43a27a:	75 2e                	jne    0x43a2aa
43a27c:	39 37                	cmp    %esi,(%edi)
43a27e:	76 2a                	jbe    0x43a2aa
43a280:	ff 75 e4             	push   -0x1c(%ebp)
43a283:	56                   	push   %esi
43a284:	ff 15 f4 71 4a 00    	call   *0x4a71f4
43a28a:	89 03                	mov    %eax,(%ebx)
43a28c:	85 c0                	test   %eax,%eax
43a28e:	74 1a                	je     0x43a2aa
43a290:	50                   	push   %eax
43a291:	ff 75 e4             	push   -0x1c(%ebp)
43a294:	ff 37                	push   (%edi)
43a296:	ff 15 7c c0 4a 00    	call   *0x4ac07c
43a29c:	85 c0                	test   %eax,%eax
43a29e:	75 0a                	jne    0x43a2aa
43a2a0:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43a2a7:	40                   	inc    %eax
43a2a8:	eb 2d                	jmp    0x43a2d7
43a2aa:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43a2b1:	eb 13                	jmp    0x43a2c6
43a2b3:	33 c0                	xor    %eax,%eax
43a2b5:	40                   	inc    %eax
43a2b6:	c3                   	ret
43a2b7:	8b 65 e8             	mov    -0x18(%ebp),%esp
43a2ba:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43a2c1:	33 f6                	xor    %esi,%esi
43a2c3:	8b 7d e0             	mov    -0x20(%ebp),%edi
43a2c6:	8b 5d dc             	mov    -0x24(%ebp),%ebx
43a2c9:	ff 33                	push   (%ebx)
43a2cb:	ff 15 f0 71 4a 00    	call   *0x4a71f0
43a2d1:	89 33                	mov    %esi,(%ebx)
43a2d3:	89 37                	mov    %esi,(%edi)
43a2d5:	33 c0                	xor    %eax,%eax
43a2d7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43a2da:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43a2e1:	59                   	pop    %ecx
43a2e2:	5f                   	pop    %edi
43a2e3:	5e                   	pop    %esi
43a2e4:	5b                   	pop    %ebx
43a2e5:	c9                   	leave
43a2e6:	c3                   	ret
43a2e7:	6a 14                	push   $0x14
43a2e9:	68 b8 95 49 00       	push   $0x4995b8
43a2ee:	e8 e5 65 05 00       	call   0x4908d8
43a2f3:	8b da                	mov    %edx,%ebx
43a2f5:	89 5d dc             	mov    %ebx,-0x24(%ebp)
43a2f8:	8b f9                	mov    %ecx,%edi
43a2fa:	89 7d e0             	mov    %edi,-0x20(%ebp)
43a2fd:	33 f6                	xor    %esi,%esi
43a2ff:	89 33                	mov    %esi,(%ebx)
43a301:	89 37                	mov    %esi,(%edi)
43a303:	39 35 e8 59 4a 00    	cmp    %esi,0x4a59e8
43a309:	75 6b                	jne    0x43a376
43a30b:	89 75 fc             	mov    %esi,-0x4(%ebp)
43a30e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43a311:	50                   	push   %eax
43a312:	57                   	push   %edi
43a313:	ff 15 80 c0 4a 00    	call   *0x4ac080
43a319:	85 c0                	test   %eax,%eax
43a31b:	75 2e                	jne    0x43a34b
43a31d:	39 37                	cmp    %esi,(%edi)
43a31f:	76 2a                	jbe    0x43a34b
43a321:	ff 75 e4             	push   -0x1c(%ebp)
43a324:	56                   	push   %esi
43a325:	ff 15 f4 71 4a 00    	call   *0x4a71f4
43a32b:	89 03                	mov    %eax,(%ebx)
43a32d:	85 c0                	test   %eax,%eax
43a32f:	74 1a                	je     0x43a34b
43a331:	50                   	push   %eax
43a332:	ff 75 e4             	push   -0x1c(%ebp)
43a335:	ff 37                	push   (%edi)
43a337:	ff 15 84 c0 4a 00    	call   *0x4ac084
43a33d:	85 c0                	test   %eax,%eax
43a33f:	75 0a                	jne    0x43a34b
43a341:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43a348:	40                   	inc    %eax
43a349:	eb 2d                	jmp    0x43a378
43a34b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43a352:	eb 13                	jmp    0x43a367
43a354:	33 c0                	xor    %eax,%eax
43a356:	40                   	inc    %eax
43a357:	c3                   	ret
43a358:	8b 65 e8             	mov    -0x18(%ebp),%esp
43a35b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43a362:	33 f6                	xor    %esi,%esi
43a364:	8b 7d e0             	mov    -0x20(%ebp),%edi
43a367:	8b 5d dc             	mov    -0x24(%ebp),%ebx
43a36a:	ff 33                	push   (%ebx)
43a36c:	ff 15 f0 71 4a 00    	call   *0x4a71f0
43a372:	89 33                	mov    %esi,(%ebx)
43a374:	89 37                	mov    %esi,(%edi)
43a376:	33 c0                	xor    %eax,%eax
43a378:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43a37b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43a382:	59                   	pop    %ecx
43a383:	5f                   	pop    %edi
43a384:	5e                   	pop    %esi
43a385:	5b                   	pop    %ebx
43a386:	c9                   	leave
43a387:	c3                   	ret
43a388:	8b ff                	mov    %edi,%edi
43a38a:	55                   	push   %ebp
43a38b:	8b ec                	mov    %esp,%ebp
43a38d:	83 ec 10             	sub    $0x10,%esp
43a390:	56                   	push   %esi
43a391:	89 55 f0             	mov    %edx,-0x10(%ebp)
43a394:	33 f6                	xor    %esi,%esi
43a396:	89 4d f4             	mov    %ecx,-0xc(%ebp)
43a399:	8d 55 fc             	lea    -0x4(%ebp),%edx
43a39c:	57                   	push   %edi
43a39d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
43a3a0:	89 75 fc             	mov    %esi,-0x4(%ebp)
43a3a3:	89 75 f8             	mov    %esi,-0x8(%ebp)
43a3a6:	e8 3c ff ff ff       	call   0x43a2e7
43a3ab:	8b fe                	mov    %esi,%edi
43a3ad:	8b 55 fc             	mov    -0x4(%ebp),%edx
43a3b0:	39 75 f8             	cmp    %esi,-0x8(%ebp)
43a3b3:	76 30                	jbe    0x43a3e5
43a3b5:	53                   	push   %ebx
43a3b6:	8d 5a 10             	lea    0x10(%edx),%ebx
43a3b9:	8b ce                	mov    %esi,%ecx
43a3bb:	8b 55 f4             	mov    -0xc(%ebp),%edx
43a3be:	8b 04 8b             	mov    (%ebx,%ecx,4),%eax
43a3c1:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
43a3c4:	8b 55 fc             	mov    -0x4(%ebp),%edx
43a3c7:	75 29                	jne    0x43a3f2
43a3c9:	41                   	inc    %ecx
43a3ca:	83 f9 04             	cmp    $0x4,%ecx
43a3cd:	75 ec                	jne    0x43a3bb
43a3cf:	8b 45 f0             	mov    -0x10(%ebp),%eax
43a3d2:	85 c0                	test   %eax,%eax
43a3d4:	74 0b                	je     0x43a3e1
43a3d6:	6b f7 4c             	imul   $0x4c,%edi,%esi
43a3d9:	8b f8                	mov    %eax,%edi