43fdc7:	89 45 9c             	mov    %eax,-0x64(%ebp)
43fdca:	89 46 40             	mov    %eax,0x40(%esi)
43fdcd:	8b 45 8c             	mov    -0x74(%ebp),%eax
43fdd0:	2b c1                	sub    %ecx,%eax
43fdd2:	89 07                	mov    %eax,(%edi)
43fdd4:	74 0a                	je     0x43fde0
43fdd6:	8b 45 98             	mov    -0x68(%ebp),%eax
43fdd9:	03 c2                	add    %edx,%eax
43fddb:	39 45 9c             	cmp    %eax,-0x64(%ebp)
43fdde:	75 03                	jne    0x43fde3
43fde0:	89 56 40             	mov    %edx,0x40(%esi)
43fde3:	8b 06                	mov    (%esi),%eax
43fde5:	51                   	push   %ecx
43fde6:	ff 75 ac             	push   -0x54(%ebp)
43fde9:	8b b8 d0 00 00 00    	mov    0xd0(%eax),%edi
43fdef:	8b cf                	mov    %edi,%ecx
43fdf1:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43fdf7:	8b ce                	mov    %esi,%ecx
43fdf9:	ff d7                	call   *%edi
43fdfb:	8b 4e 20             	mov    0x20(%esi),%ecx
43fdfe:	8b c1                	mov    %ecx,%eax
43fe00:	2b 5d a0             	sub    -0x60(%ebp),%ebx
43fe03:	89 4d ac             	mov    %ecx,-0x54(%ebp)
43fe06:	3b d9                	cmp    %ecx,%ebx
43fe08:	0f 87 63 ff ff ff    	ja     0x43fd71
43fe0e:	3b d9                	cmp    %ecx,%ebx
43fe10:	0f 86 88 01 00 00    	jbe    0x43ff9e
43fe16:	8b 3e                	mov    (%esi),%edi
43fe18:	2b d9                	sub    %ecx,%ebx
43fe1a:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
43fe1e:	53                   	push   %ebx
43fe1f:	ff 75 a8             	push   -0x58(%ebp)
43fe22:	74 08                	je     0x43fe2c
43fe24:	8b bf d0 00 00 00    	mov    0xd0(%edi),%edi
43fe2a:	eb 06                	jmp    0x43fe32
43fe2c:	8b bf cc 00 00 00    	mov    0xcc(%edi),%edi
43fe32:	8b cf                	mov    %edi,%ecx
43fe34:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43fe3a:	8b ce                	mov    %esi,%ecx
43fe3c:	ff d7                	call   *%edi
43fe3e:	8b 45 a8             	mov    -0x58(%ebp),%eax
43fe41:	03 c3                	add    %ebx,%eax
43fe43:	8b 5d ac             	mov    -0x54(%ebp),%ebx
43fe46:	e9 56 01 00 00       	jmp    0x43ffa1
43fe4b:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
43fe4e:	3b d8                	cmp    %eax,%ebx
43fe50:	72 73                	jb     0x43fec5
43fe52:	89 7d ac             	mov    %edi,-0x54(%ebp)
43fe55:	8b 02                	mov    (%edx),%eax
43fe57:	89 7d a0             	mov    %edi,-0x60(%ebp)
43fe5a:	8b 7d ac             	mov    -0x54(%ebp),%edi
43fe5d:	89 45 98             	mov    %eax,-0x68(%ebp)
43fe60:	3b c7                	cmp    %edi,%eax
43fe62:	72 61                	jb     0x43fec5
43fe64:	8b 4e 34             	mov    0x34(%esi),%ecx
43fe67:	3b c1                	cmp    %ecx,%eax
43fe69:	72 2b                	jb     0x43fe96
43fe6b:	8b 46 40             	mov    0x40(%esi),%eax
43fe6e:	89 45 9c             	mov    %eax,-0x64(%ebp)
43fe71:	8d 3c 08             	lea    (%eax,%ecx,1),%edi
43fe74:	89 7e 40             	mov    %edi,0x40(%esi)
43fe77:	8b cf                	mov    %edi,%ecx
43fe79:	8b 46 2c             	mov    0x2c(%esi),%eax
43fe7c:	03 46 30             	add    0x30(%esi),%eax
43fe7f:	3b f8                	cmp    %eax,%edi
43fe81:	8b 45 98             	mov    -0x68(%ebp),%eax
43fe84:	0f 44 4e 30          	cmove  0x30(%esi),%ecx
43fe88:	2b 46 34             	sub    0x34(%esi),%eax
43fe8b:	89 4e 40             	mov    %ecx,0x40(%esi)
43fe8e:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
43fe91:	89 46 3c             	mov    %eax,0x3c(%esi)
43fe94:	eb 02                	jmp    0x43fe98
43fe96:	33 c9                	xor    %ecx,%ecx
43fe98:	8b 06                	mov    (%esi),%eax
43fe9a:	ff 75 a0             	push   -0x60(%ebp)
43fe9d:	51                   	push   %ecx
43fe9e:	8b b8 d0 00 00 00    	mov    0xd0(%eax),%edi
43fea4:	8b cf                	mov    %edi,%ecx
43fea6:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43feac:	8b ce                	mov    %esi,%ecx
43feae:	ff d7                	call   *%edi
43feb0:	8b 7e 1c             	mov    0x1c(%esi),%edi
43feb3:	8d 56 3c             	lea    0x3c(%esi),%edx
43feb6:	8b 4e 20             	mov    0x20(%esi),%ecx
43feb9:	2b df                	sub    %edi,%ebx
43febb:	89 7d ac             	mov    %edi,-0x54(%ebp)
43febe:	8d 04 39             	lea    (%ecx,%edi,1),%eax
43fec1:	3b d8                	cmp    %eax,%ebx
43fec3:	73 90                	jae    0x43fe55
43fec5:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
43fec8:	89 7d ac             	mov    %edi,-0x54(%ebp)
43fecb:	3b d8                	cmp    %eax,%ebx
43fecd:	72 73                	jb     0x43ff42
43fecf:	8b 02                	mov    (%edx),%eax
43fed1:	8b d7                	mov    %edi,%edx
43fed3:	89 55 ac             	mov    %edx,-0x54(%ebp)
43fed6:	85 c0                	test   %eax,%eax
43fed8:	74 6b                	je     0x43ff45
43feda:	2b f8                	sub    %eax,%edi
43fedc:	8d 4e 28             	lea    0x28(%esi),%ecx
43fedf:	57                   	push   %edi
43fee0:	ff 75 a8             	push   -0x58(%ebp)
43fee3:	e8 a8 fa ff ff       	call   0x43f990
43fee8:	01 7d a8             	add    %edi,-0x58(%ebp)
43feeb:	8b 4e 34             	mov    0x34(%esi),%ecx
43feee:	39 4e 3c             	cmp    %ecx,0x3c(%esi)
43fef1:	72 2b                	jb     0x43ff1e
43fef3:	8b 46 40             	mov    0x40(%esi),%eax
43fef6:	89 45 9c             	mov    %eax,-0x64(%ebp)
43fef9:	8d 3c 08             	lea    (%eax,%ecx,1),%edi
43fefc:	89 7e 40             	mov    %edi,0x40(%esi)
43feff:	8b cf                	mov    %edi,%ecx
43ff01:	8b 46 2c             	mov    0x2c(%esi),%eax
43ff04:	03 46 30             	add    0x30(%esi),%eax
43ff07:	3b f8                	cmp    %eax,%edi
43ff09:	8b 46 3c             	mov    0x3c(%esi),%eax
43ff0c:	0f 44 4e 30          	cmove  0x30(%esi),%ecx
43ff10:	2b 46 34             	sub    0x34(%esi),%eax
43ff13:	89 4e 40             	mov    %ecx,0x40(%esi)
43ff16:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
43ff19:	89 46 3c             	mov    %eax,0x3c(%esi)
43ff1c:	eb 02                	jmp    0x43ff20
43ff1e:	33 c9                	xor    %ecx,%ecx
43ff20:	8b 06                	mov    (%esi),%eax
43ff22:	ff 76 1c             	push   0x1c(%esi)
43ff25:	51                   	push   %ecx
43ff26:	8b b8 d0 00 00 00    	mov    0xd0(%eax),%edi
43ff2c:	8b cf                	mov    %edi,%ecx
43ff2e:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43ff34:	8b ce                	mov    %esi,%ecx
43ff36:	ff d7                	call   *%edi
43ff38:	8b 56 1c             	mov    0x1c(%esi),%edx
43ff3b:	2b da                	sub    %edx,%ebx
43ff3d:	89 55 ac             	mov    %edx,-0x54(%ebp)
43ff40:	eb 03                	jmp    0x43ff45
43ff42:	8b 55 ac             	mov    -0x54(%ebp),%edx
43ff45:	8b 7e 20             	mov    0x20(%esi),%edi
43ff48:	8d 04 3a             	lea    (%edx,%edi,1),%eax
43ff4b:	3b d8                	cmp    %eax,%ebx
43ff4d:	72 4f                	jb     0x43ff9e
43ff4f:	8b cb                	mov    %ebx,%ecx
43ff51:	2b cf                	sub    %edi,%ecx
43ff53:	85 d2                	test   %edx,%edx
43ff55:	74 0d                	je     0x43ff64
43ff57:	8d 42 ff             	lea    -0x1(%edx),%eax
43ff5a:	85 d0                	test   %edx,%eax
43ff5c:	75 06                	jne    0x43ff64
43ff5e:	23 c1                	and    %ecx,%eax
43ff60:	2b c8                	sub    %eax,%ecx
43ff62:	eb 09                	jmp    0x43ff6d
43ff64:	8b c1                	mov    %ecx,%eax
43ff66:	33 d2                	xor    %edx,%edx
43ff68:	f7 75 ac             	divl   -0x54(%ebp)
43ff6b:	2b ca                	sub    %edx,%ecx
43ff6d:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
43ff71:	8b 3e                	mov    (%esi),%edi
43ff73:	51                   	push   %ecx
43ff74:	ff 75 a8             	push   -0x58(%ebp)
43ff77:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
43ff7a:	74 08                	je     0x43ff84
43ff7c:	8b bf d0 00 00 00    	mov    0xd0(%edi),%edi
43ff82:	eb 06                	jmp    0x43ff8a
43ff84:	8b bf cc 00 00 00    	mov    0xcc(%edi),%edi
43ff8a:	8b cf                	mov    %edi,%ecx
43ff8c:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43ff92:	8b ce                	mov    %esi,%ecx
43ff94:	ff d7                	call   *%edi
43ff96:	8b 45 a4             	mov    -0x5c(%ebp),%eax
43ff99:	01 45 a8             	add    %eax,-0x58(%ebp)
43ff9c:	2b d8                	sub    %eax,%ebx
43ff9e:	8b 45 a8             	mov    -0x58(%ebp),%eax
43ffa1:	2b 5e 3c             	sub    0x3c(%esi),%ebx
43ffa4:	8d 4e 28             	lea    0x28(%esi),%ecx
43ffa7:	53                   	push   %ebx
43ffa8:	50                   	push   %eax
43ffa9:	e8 e2 f9 ff ff       	call   0x43f990
43ffae:	8d 5e 24             	lea    0x24(%esi),%ebx
43ffb1:	eb 06                	jmp    0x43ffb9
43ffb3:	89 5d 90             	mov    %ebx,-0x70(%ebp)
43ffb6:	89 55 94             	mov    %edx,-0x6c(%ebp)
43ffb9:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
43ffbd:	0f 84 94 01 00 00    	je     0x440157
43ffc3:	80 3b 00             	cmpb   $0x0,(%ebx)
43ffc6:	75 1c                	jne    0x43ffe4
43ffc8:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
43ffcc:	75 16                	jne    0x43ffe4
43ffce:	8b 06                	mov    (%esi),%eax
43ffd0:	6a 00                	push   $0x0
43ffd2:	8b b8 c4 00 00 00    	mov    0xc4(%eax),%edi
43ffd8:	8b cf                	mov    %edi,%ecx
43ffda:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43ffe0:	8b ce                	mov    %esi,%ecx
43ffe2:	ff d7                	call   *%edi
43ffe4:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
43ffe7:	8b 03                	mov    (%ebx),%eax
43ffe9:	89 45 e8             	mov    %eax,-0x18(%ebp)
43ffec:	85 c0                	test   %eax,%eax
43ffee:	74 07                	je     0x43fff7
43fff0:	8b c8                	mov    %eax,%ecx
43fff2:	e8 69 c0 01 00       	call   0x45c060
43fff7:	89 45 ac             	mov    %eax,-0x54(%ebp)
43fffa:	89 45 ec             	mov    %eax,-0x14(%ebp)
43fffd:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
440004:	8b 46 38             	mov    0x38(%esi),%eax
440007:	0f af 46 34          	imul   0x34(%esi),%eax
44000b:	8b 56 40             	mov    0x40(%esi),%edx
44000e:	8b 4e 30             	mov    0x30(%esi),%ecx
440011:	89 55 a4             	mov    %edx,-0x5c(%ebp)
440014:	89 45 a8             	mov    %eax,-0x58(%ebp)
440017:	8b 46 2c             	mov    0x2c(%esi),%eax
44001a:	2b c2                	sub    %edx,%eax
44001c:	8b 56 3c             	mov    0x3c(%esi),%edx
44001f:	03 c8                	add    %eax,%ecx
440021:	8d 46 3c             	lea    0x3c(%esi),%eax
440024:	3b d1                	cmp    %ecx,%edx
440026:	89 4d 98             	mov    %ecx,-0x68(%ebp)
440029:	89 45 a0             	mov    %eax,-0x60(%ebp)
44002c:	8d 4e 3c             	lea    0x3c(%esi),%ecx
44002f:	8d 45 98             	lea    -0x68(%ebp),%eax
440032:	0f 42 c1             	cmovb  %ecx,%eax
440035:	8b 4d a8             	mov    -0x58(%ebp),%ecx
440038:	39 08                	cmp    %ecx,(%eax)
44003a:	0f 42 08             	cmovb  (%eax),%ecx
44003d:	8b 45 a4             	mov    -0x5c(%ebp),%eax
440040:	03 c1                	add    %ecx,%eax
440042:	89 4d a8             	mov    %ecx,-0x58(%ebp)
440045:	2b d1                	sub    %ecx,%edx
440047:	89 46 40             	mov    %eax,0x40(%esi)
44004a:	89 56 3c             	mov    %edx,0x3c(%esi)
44004d:	8b 56 30             	mov    0x30(%esi),%edx
440050:	89 45 98             	mov    %eax,-0x68(%ebp)
440053:	74 0a                	je     0x44005f
440055:	8b 46 2c             	mov    0x2c(%esi),%eax
440058:	03 c2                	add    %edx,%eax
44005a:	39 45 98             	cmp    %eax,-0x68(%ebp)
44005d:	75 03                	jne    0x440062
44005f:	89 56 40             	mov    %edx,0x40(%esi)
440062:	51                   	push   %ecx
440063:	ff 75 a4             	push   -0x5c(%ebp)
440066:	ff 75 ac             	push   -0x54(%ebp)
440069:	e8 b2 b5 02 00       	call   0x46b620
44006e:	ff 76 3c             	push   0x3c(%esi)
440071:	8b 45 a8             	mov    -0x58(%ebp),%eax
440074:	ff 76 40             	push   0x40(%esi)
440077:	8b 7d ac             	mov    -0x54(%ebp),%edi
44007a:	03 c7                	add    %edi,%eax
44007c:	50                   	push   %eax
44007d:	e8 9e b5 02 00       	call   0x46b620
440082:	8b 45 a0             	mov    -0x60(%ebp),%eax
440085:	83 c4 18             	add    $0x18,%esp
440088:	ff 75 e8             	push   -0x18(%ebp)
44008b:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
440091:	8b 06                	mov    (%esi),%eax
440093:	57                   	push   %edi
440094:	8b b8 d4 00 00 00    	mov    0xd4(%eax),%edi
44009a:	8b cf                	mov    %edi,%ecx
44009c:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4400a2:	8b ce                	mov    %esi,%ecx
4400a4:	ff d7                	call   *%edi
4400a6:	8b 45 90             	mov    -0x70(%ebp),%eax
4400a9:	c6 00 00             	movb   $0x0,(%eax)
4400ac:	8b 46 18             	mov    0x18(%esi),%eax
4400af:	8b 4e 2c             	mov    0x2c(%esi),%ecx
4400b2:	8b 56 30             	mov    0x30(%esi),%edx
4400b5:	89 45 90             	mov    %eax,-0x70(%ebp)
4400b8:	3b c8                	cmp    %eax,%ecx
4400ba:	74 26                	je     0x4400e2
4400bc:	8b fa                	mov    %edx,%edi
4400be:	32 c0                	xor    %al,%al
4400c0:	f3 aa                	rep stos %al,%es:(%edi)
4400c2:	52                   	push   %edx
4400c3:	e8 ba 95 03 00       	call   0x479682
4400c8:	8b 45 90             	mov    -0x70(%ebp),%eax
4400cb:	83 c4 04             	add    $0x4,%esp
4400ce:	85 c0                	test   %eax,%eax
4400d0:	75 04                	jne    0x4400d6
4400d2:	33 d2                	xor    %edx,%edx
4400d4:	eb 0c                	jmp    0x4400e2
4400d6:	8b c8                	mov    %eax,%ecx
4400d8:	e8 83 bf 01 00       	call   0x45c060
4400dd:	8b d0                	mov    %eax,%edx
4400df:	8b 45 90             	mov    -0x70(%ebp),%eax
4400e2:	89 56 30             	mov    %edx,0x30(%esi)
4400e5:	89 46 2c             	mov    %eax,0x2c(%esi)
4400e8:	89 46 38             	mov    %eax,0x38(%esi)
4400eb:	8b 46 30             	mov    0x30(%esi),%eax
4400ee:	c7 46 34 01 00 00 00 	movl   $0x1,0x34(%esi)
4400f5:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
4400fb:	89 46 40             	mov    %eax,0x40(%esi)
4400fe:	8b 06                	mov    (%esi),%eax
440100:	8b b8 a4 00 00 00    	mov    0xa4(%eax),%edi
440106:	8b cf                	mov    %edi,%ecx
440108:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44010e:	8b ce                	mov    %esi,%ecx
440110:	ff d7                	call   *%edi
440112:	ff 75 14             	push   0x14(%ebp)
440115:	8b 4d 10             	mov    0x10(%ebp),%ecx
440118:	8b d8                	mov    %eax,%ebx
44011a:	49                   	dec    %ecx
44011b:	51                   	push   %ecx
44011c:	6a 00                	push   $0x0
44011e:	8b 3b                	mov    (%ebx),%edi
440120:	6a 00                	push   $0x0
440122:	68 40 4e 4c 00       	push   $0x4c4e40
440127:	8b bf 88 00 00 00    	mov    0x88(%edi),%edi
44012d:	8b cf                	mov    %edi,%ecx
44012f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
440135:	8b cb                	mov    %ebx,%ecx
440137:	ff d7                	call   *%edi
440139:	8b 55 ac             	mov    -0x54(%ebp),%edx
44013c:	f7 d8                	neg    %eax
44013e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
440141:	8b fa                	mov    %edx,%edi
440143:	1b c0                	sbb    %eax,%eax
440145:	f7 d8                	neg    %eax
440147:	89 46 14             	mov    %eax,0x14(%esi)
44014a:	32 c0                	xor    %al,%al
44014c:	f3 aa                	rep stos %al,%es:(%edi)
44014e:	52                   	push   %edx
44014f:	e8 2e 95 03 00       	call   0x479682
440154:	83 c4 04             	add    $0x4,%esp
440157:	33 c0                	xor    %eax,%eax
440159:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44015c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
440163:	59                   	pop    %ecx
440164:	5f                   	pop    %edi
440165:	5e                   	pop    %esi
440166:	5b                   	pop    %ebx
440167:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44016a:	33 cd                	xor    %ebp,%ecx
44016c:	e8 59 98 02 00       	call   0x4699ca
440171:	8b e5                	mov    %ebp,%esp
440173:	5d                   	pop    %ebp
440174:	c2 14 00             	ret    $0x14
440177:	68 f0 64 4b 00       	push   $0x4b64f0
44017c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
44017f:	e8 bc ae fc ff       	call   0x40b040
440184:	8d 45 d8             	lea    -0x28(%ebp),%eax
440187:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
44018e:	50                   	push   %eax
44018f:	8d 4d b0             	lea    -0x50(%ebp),%ecx
440192:	e8 39 0c 00 00       	call   0x440dd0
440197:	68 98 21 4c 00       	push   $0x4c2198
44019c:	8d 45 b0             	lea    -0x50(%ebp),%eax
44019f:	50                   	push   %eax
4401a0:	e8 09 b4 02 00       	call   0x46b5ae
4401a5:	cc                   	int3
4401a6:	cc                   	int3
4401a7:	cc                   	int3
4401a8:	cc                   	int3