43fc5f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43fc60:	8b 74 24 2c          	mov    0x2c(%esp),%esi
43fc64:	ff 36                	push   (%esi)
43fc66:	e8 9a 03 00 00       	call   0x440005
43fc6b:	8b 55 08             	mov    0x8(%ebp),%edx
43fc6e:	8b 4a 08             	mov    0x8(%edx),%ecx
43fc71:	8b 44 24 38          	mov    0x38(%esp),%eax
43fc75:	43                   	inc    %ebx
43fc76:	83 c6 04             	add    $0x4,%esi
43fc79:	89 74 24 1c          	mov    %esi,0x1c(%esp)
43fc7d:	3b d9                	cmp    %ecx,%ebx
43fc7f:	72 c4                	jb     0x43fc45
43fc81:	33 db                	xor    %ebx,%ebx
43fc83:	b9 f0 20 4c 00       	mov    $0x4c20f0,%ecx
43fc88:	e8 53 e1 fc ff       	call   0x40dde0
43fc8d:	8d 4c 24 40          	lea    0x40(%esp),%ecx
43fc91:	e8 5c 57 fc ff       	call   0x4053f2
43fc96:	8d 8c 24 80 00 00 00 	lea    0x80(%esp),%ecx
43fc9d:	e8 03 fa ff ff       	call   0x43f6a5
43fca2:	8d 4c 24 20          	lea    0x20(%esp),%ecx
43fca6:	e8 75 2f fd ff       	call   0x412c20
43fcab:	8d 4c 24 58          	lea    0x58(%esp),%ecx
43fcaf:	e9 84 01 00 00       	jmp    0x43fe38
43fcb4:	8b 44 24 0c          	mov    0xc(%esp),%eax
43fcb8:	8b 4f 3c             	mov    0x3c(%edi),%ecx
43fcbb:	8b 40 04             	mov    0x4(%eax),%eax
43fcbe:	8b 04 b0             	mov    (%eax,%esi,4),%eax
43fcc1:	0f bf 40 0a          	movswl 0xa(%eax),%eax
43fcc5:	50                   	push   %eax
43fcc6:	68 91 00 00 00       	push   $0x91
43fccb:	e8 8c cf 00 00       	call   0x44cc5c
43fcd0:	8d 4c 24 40          	lea    0x40(%esp),%ecx
43fcd4:	e8 19 57 fc ff       	call   0x4053f2
43fcd9:	8d 8c 24 80 00 00 00 	lea    0x80(%esp),%ecx
43fce0:	e8 c0 f9 ff ff       	call   0x43f6a5
43fce5:	8d 4c 24 20          	lea    0x20(%esp),%ecx
43fce9:	e8 32 2f fd ff       	call   0x412c20
43fcee:	8d 4c 24 58          	lea    0x58(%esp),%ecx
43fcf2:	e8 95 f9 ff ff       	call   0x43f68c
43fcf7:	bb 05 40 00 80       	mov    $0x80004005,%ebx
43fcfc:	e9 3c 01 00 00       	jmp    0x43fe3d
43fd01:	8b 4f 38             	mov    0x38(%edi),%ecx
43fd04:	83 39 40             	cmpl   $0x40,(%ecx)
43fd07:	75 05                	jne    0x43fd0e
43fd09:	e8 96 04 00 00       	call   0x4401a4
43fd0e:	8d 77 40             	lea    0x40(%edi),%esi
43fd11:	c7 44 24 40 50 dc 49 	movl   $0x49dc50,0x40(%esp)
43fd18:	00
43fd19:	83 7e 0c 08          	cmpl   $0x8,0xc(%esi)
43fd1d:	89 5c 24 44          	mov    %ebx,0x44(%esp)
43fd21:	89 5c 24 48          	mov    %ebx,0x48(%esp)
43fd25:	89 5c 24 4c          	mov    %ebx,0x4c(%esp)
43fd29:	89 5c 24 20          	mov    %ebx,0x20(%esp)
43fd2d:	89 5c 24 28          	mov    %ebx,0x28(%esp)
43fd31:	c7 44 24 2c 01 00 00 	movl   $0x1,0x2c(%esp)
43fd38:	00
43fd39:	75 04                	jne    0x43fd3f
43fd3b:	8b 06                	mov    (%esi),%eax
43fd3d:	eb 02                	jmp    0x43fd41
43fd3f:	8b c3                	mov    %ebx,%eax
43fd41:	8b 40 08             	mov    0x8(%eax),%eax
43fd44:	50                   	push   %eax
43fd45:	8b 08                	mov    (%eax),%ecx
43fd47:	ff 51 04             	call   *0x4(%ecx)
43fd4a:	8d 4c 24 20          	lea    0x20(%esp),%ecx
43fd4e:	e8 cd 2e fd ff       	call   0x412c20
43fd53:	8d 44 24 20          	lea    0x20(%esp),%eax
43fd57:	50                   	push   %eax
43fd58:	8d 4c 24 44          	lea    0x44(%esp),%ecx
43fd5c:	c7 44 24 30 06 00 00 	movl   $0x6,0x30(%esp)
43fd63:	00
43fd64:	89 74 24 24          	mov    %esi,0x24(%esp)
43fd68:	e8 69 c5 fd ff       	call   0x41c2d6
43fd6d:	8d 44 24 70          	lea    0x70(%esp),%eax
43fd71:	50                   	push   %eax
43fd72:	8d 8c 24 94 00 00 00 	lea    0x94(%esp),%ecx
43fd79:	e8 ca 92 fc ff       	call   0x409048
43fd7e:	8d 84 24 90 00 00 00 	lea    0x90(%esp),%eax
43fd85:	50                   	push   %eax
43fd86:	8d 4c 24 44          	lea    0x44(%esp),%ecx
43fd8a:	e8 47 c5 fd ff       	call   0x41c2d6
43fd8f:	8d 8c 24 90 00 00 00 	lea    0x90(%esp),%ecx
43fd96:	e8 85 2e fd ff       	call   0x412c20
43fd9b:	8b 7c 24 14          	mov    0x14(%esp),%edi
43fd9f:	4f                   	dec    %edi
43fda0:	78 2c                	js     0x43fdce
43fda2:	8b 5d 08             	mov    0x8(%ebp),%ebx
43fda5:	8b f7                	mov    %edi,%esi
43fda7:	c1 e6 04             	shl    $0x4,%esi
43fdaa:	8b 03                	mov    (%ebx),%eax
43fdac:	03 c6                	add    %esi,%eax
43fdae:	50                   	push   %eax
43fdaf:	8d 4c 24 24          	lea    0x24(%esp),%ecx
43fdb3:	e8 0d a0 00 00       	call   0x449dc5
43fdb8:	8d 44 24 20          	lea    0x20(%esp),%eax
43fdbc:	50                   	push   %eax
43fdbd:	8d 4c 24 44          	lea    0x44(%esp),%ecx
43fdc1:	e8 10 c5 fd ff       	call   0x41c2d6
43fdc6:	83 ee 10             	sub    $0x10,%esi
43fdc9:	4f                   	dec    %edi
43fdca:	79 de                	jns    0x43fdaa
43fdcc:	33 db                	xor    %ebx,%ebx
43fdce:	8b 44 24 30          	mov    0x30(%esp),%eax
43fdd2:	8b 7c 24 14          	mov    0x14(%esp),%edi
43fdd6:	8b 40 14             	mov    0x14(%eax),%eax
43fdd9:	3b c7                	cmp    %edi,%eax
43fddb:	7e 3d                	jle    0x43fe1a
43fddd:	2b c7                	sub    %edi,%eax
43fddf:	8b f3                	mov    %ebx,%esi
43fde1:	85 c0                	test   %eax,%eax
43fde3:	7e 35                	jle    0x43fe1a
43fde5:	8d 44 24 58          	lea    0x58(%esp),%eax
43fde9:	50                   	push   %eax
43fdea:	8d 4c 24 44          	lea    0x44(%esp),%ecx
43fdee:	89 5c 24 5c          	mov    %ebx,0x5c(%esp)
43fdf2:	89 5c 24 64          	mov    %ebx,0x64(%esp)
43fdf6:	c7 44 24 68 01 00 00 	movl   $0x1,0x68(%esp)
43fdfd:	00
43fdfe:	e8 d3 c4 fd ff       	call   0x41c2d6
43fe03:	8d 4c 24 58          	lea    0x58(%esp),%ecx
43fe07:	e8 14 2e fd ff       	call   0x412c20
43fe0c:	8b 44 24 30          	mov    0x30(%esp),%eax
43fe10:	46                   	inc    %esi
43fe11:	8b 40 14             	mov    0x14(%eax),%eax
43fe14:	2b c7                	sub    %edi,%eax
43fe16:	3b f0                	cmp    %eax,%esi
43fe18:	7c cb                	jl     0x43fde5
43fe1a:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
43fe1e:	8d 44 24 40          	lea    0x40(%esp),%eax
43fe22:	8b 49 38             	mov    0x38(%ecx),%ecx
43fe25:	50                   	push   %eax
43fe26:	e8 9e 03 00 00       	call   0x4401c9
43fe2b:	8d 4c 24 20          	lea    0x20(%esp),%ecx
43fe2f:	e8 ec 2d fd ff       	call   0x412c20
43fe34:	8d 4c 24 40          	lea    0x40(%esp),%ecx
43fe38:	e8 4f f8 ff ff       	call   0x43f68c
43fe3d:	8d 4c 24 70          	lea    0x70(%esp),%ecx
43fe41:	e8 f1 cc fc ff       	call   0x40cb37
43fe46:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43fe49:	e8 e9 cc fc ff       	call   0x40cb37
43fe4e:	5f                   	pop    %edi
43fe4f:	5e                   	pop    %esi
43fe50:	8b c3                	mov    %ebx,%eax
43fe52:	5b                   	pop    %ebx
43fe53:	8b e5                	mov    %ebp,%esp
43fe55:	5d                   	pop    %ebp
43fe56:	c2 14 00             	ret    $0x14
43fe59:	55                   	push   %ebp
43fe5a:	8b ec                	mov    %esp,%ebp
43fe5c:	8b 45 10             	mov    0x10(%ebp),%eax
43fe5f:	83 ec 10             	sub    $0x10,%esp
43fe62:	56                   	push   %esi
43fe63:	85 c0                	test   %eax,%eax
43fe65:	74 48                	je     0x43feaf
43fe67:	8b 75 1c             	mov    0x1c(%ebp),%esi
43fe6a:	85 f6                	test   %esi,%esi
43fe6c:	74 41                	je     0x43feaf
43fe6e:	ff 30                	push   (%eax)
43fe70:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43fe73:	e8 a1 cf fc ff       	call   0x40ce19
43fe78:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43fe7b:	e8 7a bf fc ff       	call   0x40bdfa
43fe80:	ff 75 f4             	push   -0xc(%ebp)
43fe83:	ff 75 f0             	push   -0x10(%ebp)
43fe86:	ff 15 60 d6 48 00    	call   *0x48d660
43fe8c:	ba 04 2f 4b 00       	mov    $0x4b2f04,%edx
43fe91:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43fe94:	e8 96 ed fd ff       	call   0x41ec2f
43fe99:	84 c0                	test   %al,%al
43fe9b:	74 06                	je     0x43fea3
43fe9d:	c7 06 19 fc ff ff    	movl   $0xfffffc19,(%esi)
43fea3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43fea6:	e8 8c cc fc ff       	call   0x40cb37
43feab:	33 c0                	xor    %eax,%eax
43fead:	eb 05                	jmp    0x43feb4
43feaf:	b8 06 00 02 80       	mov    $0x80020006,%eax
43feb4:	5e                   	pop    %esi
43feb5:	c9                   	leave
43feb6:	c2 18 00             	ret    $0x18
43feb9:	55                   	push   %ebp
43feba:	8b ec                	mov    %esp,%ebp
43febc:	8b 4d 14             	mov    0x14(%ebp),%ecx
43febf:	85 c9                	test   %ecx,%ecx
43fec1:	75 07                	jne    0x43feca
43fec3:	b8 57 00 07 80       	mov    $0x80070057,%eax
43fec8:	eb 0a                	jmp    0x43fed4
43feca:	8b 45 08             	mov    0x8(%ebp),%eax
43fecd:	8b 40 0c             	mov    0xc(%eax),%eax
43fed0:	89 01                	mov    %eax,(%ecx)
43fed2:	33 c0                	xor    %eax,%eax
43fed4:	5d                   	pop    %ebp
43fed5:	c2 10 00             	ret    $0x10
43fed8:	55                   	push   %ebp
43fed9:	8b ec                	mov    %esp,%ebp
43fedb:	8b 55 0c             	mov    0xc(%ebp),%edx
43fede:	85 d2                	test   %edx,%edx
43fee0:	74 11                	je     0x43fef3
43fee2:	8b 45 08             	mov    0x8(%ebp),%eax
43fee5:	33 c9                	xor    %ecx,%ecx
43fee7:	39 48 0c             	cmp    %ecx,0xc(%eax)
43feea:	0f 95 c1             	setne  %cl
43feed:	33 c0                	xor    %eax,%eax
43feef:	89 0a                	mov    %ecx,(%edx)
43fef1:	eb 05                	jmp    0x43fef8
43fef3:	b8 57 00 07 80       	mov    $0x80070057,%eax
43fef8:	5d                   	pop    %ebp
43fef9:	c2 08 00             	ret    $0x8
43fefc:	55                   	push   %ebp
43fefd:	8b ec                	mov    %esp,%ebp
43feff:	51                   	push   %ecx
43ff00:	81 7d 0c 19 fc ff ff 	cmpl   $0xfffffc19,0xc(%ebp)
43ff07:	56                   	push   %esi
43ff08:	75 0f                	jne    0x43ff19
43ff0a:	8b 4d 08             	mov    0x8(%ebp),%ecx
43ff0d:	e8 d1 00 00 00       	call   0x43ffe3
43ff12:	33 c0                	xor    %eax,%eax
43ff14:	5e                   	pop    %esi
43ff15:	c9                   	leave
43ff16:	c2 24 00             	ret    $0x24
43ff19:	8b 75 08             	mov    0x8(%ebp),%esi
43ff1c:	8b 4e 0c             	mov    0xc(%esi),%ecx
43ff1f:	85 c9                	test   %ecx,%ecx
43ff21:	74 ef                	je     0x43ff12
43ff23:	83 65 08 00          	andl   $0x0,0x8(%ebp)
43ff27:	8b 01                	mov    (%ecx),%eax
43ff29:	8d 55 fc             	lea    -0x4(%ebp),%edx
43ff2c:	52                   	push   %edx
43ff2d:	6a 01                	push   $0x1
43ff2f:	8d 55 08             	lea    0x8(%ebp),%edx
43ff32:	52                   	push   %edx
43ff33:	ff 75 0c             	push   0xc(%ebp)
43ff36:	51                   	push   %ecx
43ff37:	ff 50 1c             	call   *0x1c(%eax)
43ff3a:	85 c0                	test   %eax,%eax
43ff3c:	78 d4                	js     0x43ff12
43ff3e:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
43ff42:	74 ce                	je     0x43ff12
43ff44:	83 ec 10             	sub    $0x10,%esp
43ff47:	8b cc                	mov    %esp,%ecx
43ff49:	ff 75 08             	push   0x8(%ebp)
43ff4c:	e8 c8 ce fc ff       	call   0x40ce19
43ff51:	ff 75 1c             	push   0x1c(%ebp)
43ff54:	8b ce                	mov    %esi,%ecx
43ff56:	e8 bf f8 ff ff       	call   0x43f81a
43ff5b:	ff 75 08             	push   0x8(%ebp)
43ff5e:	8b f0                	mov    %eax,%esi
43ff60:	ff 15 0c d4 48 00    	call   *0x48d40c
43ff66:	8b c6                	mov    %esi,%eax
43ff68:	eb aa                	jmp    0x43ff14
43ff6a:	55                   	push   %ebp
43ff6b:	8b ec                	mov    %esp,%ebp
43ff6d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43ff70:	56                   	push   %esi
43ff71:	ba fc d8 48 00       	mov    $0x48d8fc,%edx
43ff76:	e8 d5 99 ff ff       	call   0x439950
43ff7b:	8b 75 08             	mov    0x8(%ebp),%esi
43ff7e:	85 c0                	test   %eax,%eax
43ff80:	75 27                	jne    0x43ffa9
43ff82:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43ff85:	ba 1c d9 48 00       	mov    $0x48d91c,%edx
43ff8a:	e8 c1 99 ff ff       	call   0x439950
43ff8f:	85 c0                	test   %eax,%eax
43ff91:	75 16                	jne    0x43ffa9
43ff93:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43ff96:	8d 56 10             	lea    0x10(%esi),%edx
43ff99:	e8 b2 99 ff ff       	call   0x439950
43ff9e:	85 c0                	test   %eax,%eax
43ffa0:	75 07                	jne    0x43ffa9
43ffa2:	b8 02 40 00 80       	mov    $0x80004002,%eax
43ffa7:	eb 0d                	jmp    0x43ffb6
43ffa9:	8b 06                	mov    (%esi),%eax
43ffab:	56                   	push   %esi
43ffac:	ff 50 04             	call   *0x4(%eax)
43ffaf:	8b 45 10             	mov    0x10(%ebp),%eax
43ffb2:	89 30                	mov    %esi,(%eax)
43ffb4:	33 c0                	xor    %eax,%eax
43ffb6:	5e                   	pop    %esi
43ffb7:	5d                   	pop    %ebp
43ffb8:	c2 0c 00             	ret    $0xc
43ffbb:	55                   	push   %ebp
43ffbc:	8b ec                	mov    %esp,%ebp
43ffbe:	56                   	push   %esi
43ffbf:	8b 75 08             	mov    0x8(%ebp),%esi
43ffc2:	8d 46 24             	lea    0x24(%esi),%eax
43ffc5:	50                   	push   %eax
43ffc6:	ff 15 30 d3 48 00    	call   *0x48d330
43ffcc:	85 c0                	test   %eax,%eax
43ffce:	75 0e                	jne    0x43ffde
43ffd0:	85 f6                	test   %esi,%esi
43ffd2:	74 08                	je     0x43ffdc
43ffd4:	51                   	push   %ecx
43ffd5:	8b ce                	mov    %esi,%ecx
43ffd7:	e8 00 f8 ff ff       	call   0x43f7dc
43ffdc:	33 c0                	xor    %eax,%eax
43ffde:	5e                   	pop    %esi
43ffdf:	5d                   	pop    %ebp
43ffe0:	c2 04 00             	ret    $0x4
43ffe3:	56                   	push   %esi
43ffe4:	8b f1                	mov    %ecx,%esi
43ffe6:	8b 4e 20             	mov    0x20(%esi),%ecx
43ffe9:	85 c9                	test   %ecx,%ecx
43ffeb:	74 12                	je     0x43ffff
43ffed:	ff 76 08             	push   0x8(%esi)
43fff0:	8b 01                	mov    (%ecx),%eax
43fff2:	51                   	push   %ecx
43fff3:	ff 50 18             	call   *0x18(%eax)
43fff6:	8b 46 20             	mov    0x20(%esi),%eax
43fff9:	50                   	push   %eax
43fffa:	8b 08                	mov    (%eax),%ecx
43fffc:	ff 51 08             	call   *0x8(%ecx)
43ffff:	83 66 20 00          	andl   $0x0,0x20(%esi)
440003:	5e                   	pop    %esi
440004:	c3                   	ret
440005:	55                   	push   %ebp
440006:	8b ec                	mov    %esp,%ebp
440008:	83 ec 20             	sub    $0x20,%esp
44000b:	f7 45 0c 00 40 00 00 	testl  $0x4000,0xc(%ebp)
440012:	56                   	push   %esi
440013:	0f 84 12 01 00 00    	je     0x44012b
440019:	6a 01                	push   $0x1
44001b:	8d 45 f4             	lea    -0xc(%ebp),%eax
44001e:	50                   	push   %eax
44001f:	8d 45 f8             	lea    -0x8(%ebp),%eax
440022:	50                   	push   %eax
440023:	ff 75 08             	push   0x8(%ebp)
440026:	33 f6                	xor    %esi,%esi
440028:	89 75 f4             	mov    %esi,-0xc(%ebp)
44002b:	e8 15 d6 fc ff       	call   0x40d645
440030:	8b 45 0c             	mov    0xc(%ebp),%eax
440033:	25 ff 0f 00 00       	and    $0xfff,%eax
440038:	83 c0 fe             	add    $0xfffffffe,%eax
44003b:	83 f8 17             	cmp    $0x17,%eax
44003e:	0f 87 e7 00 00 00    	ja     0x44012b
440044:	0f b6 80 5d 01 44 00 	movzbl 0x44015d(%eax),%eax
44004b:	ff 24 85 31 01 44 00 	jmp    *0x440131(,%eax,4)
440052:	8b 4d f8             	mov    -0x8(%ebp),%ecx
440055:	e8 a6 56 fc ff       	call   0x405700
44005a:	0f b6 c8             	movzbl %al,%ecx
44005d:	f7 d9                	neg    %ecx
44005f:	1b c9                	sbb    %ecx,%ecx
440061:	8b 45 14             	mov    0x14(%ebp),%eax
440064:	66 89 08             	mov    %cx,(%eax)
440067:	e9 bf 00 00 00       	jmp    0x44012b
44006c:	39 75 14             	cmp    %esi,0x14(%ebp)
44006f:	0f 84 b6 00 00 00    	je     0x44012b
440075:	8b 75 f8             	mov    -0x8(%ebp),%esi
440078:	8b ce                	mov    %esi,%ecx
44007a:	e8 ed 92 fc ff       	call   0x40936c
44007f:	8b 46 08             	mov    0x8(%esi),%eax
440082:	ff 30                	push   (%eax)