43ee2e:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
43ee32:	8d 45 d8             	lea    -0x28(%ebp),%eax
43ee35:	51                   	push   %ecx
43ee36:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
43ee3a:	50                   	push   %eax
43ee3b:	53                   	push   %ebx
43ee3c:	8b 5d bc             	mov    -0x44(%ebp),%ebx
43ee3f:	8d 45 ac             	lea    -0x54(%ebp),%eax
43ee42:	52                   	push   %edx
43ee43:	50                   	push   %eax
43ee44:	53                   	push   %ebx
43ee45:	e8 b6 09 00 00       	call   0x43f800
43ee4a:	56                   	push   %esi
43ee4b:	ff 75 b8             	push   -0x48(%ebp)
43ee4e:	8b 75 b4             	mov    -0x4c(%ebp),%esi
43ee51:	8b 08                	mov    (%eax),%ecx
43ee53:	89 4d 0c             	mov    %ecx,0xc(%ebp)
43ee56:	8b 40 04             	mov    0x4(%eax),%eax
43ee59:	50                   	push   %eax
43ee5a:	51                   	push   %ecx
43ee5b:	56                   	push   %esi
43ee5c:	53                   	push   %ebx
43ee5d:	89 45 10             	mov    %eax,0x10(%ebp)
43ee60:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
43ee67:	c7 47 24 00 00 00 00 	movl   $0x0,0x24(%edi)
43ee6e:	e8 1d 09 00 00       	call   0x43f790
43ee73:	8b 45 ec             	mov    -0x14(%ebp),%eax
43ee76:	83 c4 30             	add    $0x30,%esp
43ee79:	83 f8 08             	cmp    $0x8,%eax
43ee7c:	72 37                	jb     0x43eeb5
43ee7e:	8b 55 d8             	mov    -0x28(%ebp),%edx
43ee81:	40                   	inc    %eax
43ee82:	8b ca                	mov    %edx,%ecx
43ee84:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
43ee89:	77 4a                	ja     0x43eed5
43ee8b:	03 c0                	add    %eax,%eax
43ee8d:	3d 00 10 00 00       	cmp    $0x1000,%eax
43ee92:	72 18                	jb     0x43eeac
43ee94:	f6 c1 1f             	test   $0x1f,%cl
43ee97:	75 3c                	jne    0x43eed5
43ee99:	8b 52 fc             	mov    -0x4(%edx),%edx
43ee9c:	3b d1                	cmp    %ecx,%edx
43ee9e:	73 35                	jae    0x43eed5
43eea0:	2b ca                	sub    %edx,%ecx
43eea2:	83 f9 04             	cmp    $0x4,%ecx
43eea5:	72 2e                	jb     0x43eed5
43eea7:	83 f9 23             	cmp    $0x23,%ecx
43eeaa:	77 29                	ja     0x43eed5
43eeac:	52                   	push   %edx
43eead:	e8 1e 16 0b 00       	call   0x4f04d0
43eeb2:	83 c4 04             	add    $0x4,%esp
43eeb5:	8b c6                	mov    %esi,%eax
43eeb7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43eeba:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43eec1:	59                   	pop    %ecx
43eec2:	5f                   	pop    %edi
43eec3:	5e                   	pop    %esi
43eec4:	5b                   	pop    %ebx
43eec5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43eec8:	33 cd                	xor    %ebp,%ecx
43eeca:	e8 0b 26 1a 00       	call   0x5e14da
43eecf:	8b e5                	mov    %ebp,%esp
43eed1:	5d                   	pop    %ebp
43eed2:	c2 18 00             	ret    $0x18
43eed5:	e8 55 e0 1a 00       	call   0x5ecf2f
43eeda:	cc                   	int3
43eedb:	cc                   	int3
43eedc:	cc                   	int3
43eedd:	cc                   	int3
43eede:	cc                   	int3
43eedf:	cc                   	int3
43eee0:	55                   	push   %ebp
43eee1:	8b ec                	mov    %esp,%ebp
43eee3:	51                   	push   %ecx
43eee4:	53                   	push   %ebx
43eee5:	8b 5d 08             	mov    0x8(%ebp),%ebx
43eee8:	56                   	push   %esi
43eee9:	57                   	push   %edi
43eeea:	8b f1                	mov    %ecx,%esi
43eeec:	66 83 3b 00          	cmpw   $0x0,(%ebx)
43eef0:	75 04                	jne    0x43eef6
43eef2:	33 ff                	xor    %edi,%edi
43eef4:	eb 19                	jmp    0x43ef0f
43eef6:	8b fb                	mov    %ebx,%edi
43eef8:	8d 4f 02             	lea    0x2(%edi),%ecx
43eefb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
43ef00:	66 8b 07             	mov    (%edi),%ax
43ef03:	83 c7 02             	add    $0x2,%edi
43ef06:	66 85 c0             	test   %ax,%ax
43ef09:	75 f5                	jne    0x43ef00
43ef0b:	2b f9                	sub    %ecx,%edi
43ef0d:	d1 ff                	sar    $1,%edi
43ef0f:	8b 4e 14             	mov    0x14(%esi),%ecx
43ef12:	83 f9 08             	cmp    $0x8,%ecx
43ef15:	72 04                	jb     0x43ef1b
43ef17:	8b 06                	mov    (%esi),%eax
43ef19:	eb 02                	jmp    0x43ef1d
43ef1b:	8b c6                	mov    %esi,%eax
43ef1d:	3b d8                	cmp    %eax,%ebx
43ef1f:	72 39                	jb     0x43ef5a
43ef21:	83 f9 08             	cmp    $0x8,%ecx
43ef24:	72 04                	jb     0x43ef2a
43ef26:	8b 16                	mov    (%esi),%edx
43ef28:	eb 02                	jmp    0x43ef2c
43ef2a:	8b d6                	mov    %esi,%edx
43ef2c:	8b 46 10             	mov    0x10(%esi),%eax
43ef2f:	8d 04 42             	lea    (%edx,%eax,2),%eax
43ef32:	3b c3                	cmp    %ebx,%eax
43ef34:	76 24                	jbe    0x43ef5a
43ef36:	83 f9 08             	cmp    $0x8,%ecx
43ef39:	72 04                	jb     0x43ef3f
43ef3b:	8b 06                	mov    (%esi),%eax
43ef3d:	eb 02                	jmp    0x43ef41
43ef3f:	8b c6                	mov    %esi,%eax
43ef41:	2b d8                	sub    %eax,%ebx
43ef43:	8b ce                	mov    %esi,%ecx
43ef45:	57                   	push   %edi
43ef46:	d1 fb                	sar    $1,%ebx
43ef48:	53                   	push   %ebx
43ef49:	56                   	push   %esi
43ef4a:	e8 61 14 00 00       	call   0x4403b0
43ef4f:	5f                   	pop    %edi
43ef50:	8b f0                	mov    %eax,%esi
43ef52:	5e                   	pop    %esi
43ef53:	5b                   	pop    %ebx
43ef54:	8b e5                	mov    %ebp,%esp
43ef56:	5d                   	pop    %ebp
43ef57:	c2 04 00             	ret    $0x4
43ef5a:	8b 56 10             	mov    0x10(%esi),%edx
43ef5d:	8b c2                	mov    %edx,%eax
43ef5f:	f7 d0                	not    %eax
43ef61:	3b c7                	cmp    %edi,%eax
43ef63:	0f 86 ad 00 00 00    	jbe    0x43f016
43ef69:	8d 04 3a             	lea    (%edx,%edi,1),%eax
43ef6c:	89 45 fc             	mov    %eax,-0x4(%ebp)
43ef6f:	85 ff                	test   %edi,%edi
43ef71:	0f 84 94 00 00 00    	je     0x43f00b
43ef77:	3d fe ff ff 7f       	cmp    $0x7ffffffe,%eax
43ef7c:	0f 87 99 00 00 00    	ja     0x43f01b
43ef82:	3b c8                	cmp    %eax,%ecx
43ef84:	73 1a                	jae    0x43efa0
43ef86:	52                   	push   %edx
43ef87:	50                   	push   %eax
43ef88:	8b ce                	mov    %esi,%ecx
43ef8a:	e8 51 a1 ff ff       	call   0x4390e0
43ef8f:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ef92:	85 c0                	test   %eax,%eax
43ef94:	74 75                	je     0x43f00b
43ef96:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
43ef9a:	72 32                	jb     0x43efce
43ef9c:	8b 0e                	mov    (%esi),%ecx
43ef9e:	eb 30                	jmp    0x43efd0
43efa0:	85 c0                	test   %eax,%eax
43efa2:	75 f2                	jne    0x43ef96
43efa4:	89 46 10             	mov    %eax,0x10(%esi)
43efa7:	83 f9 08             	cmp    $0x8,%ecx
43efaa:	72 12                	jb     0x43efbe
43efac:	8b 06                	mov    (%esi),%eax
43efae:	33 c9                	xor    %ecx,%ecx
43efb0:	5f                   	pop    %edi
43efb1:	66 89 08             	mov    %cx,(%eax)
43efb4:	8b c6                	mov    %esi,%eax
43efb6:	5e                   	pop    %esi
43efb7:	5b                   	pop    %ebx
43efb8:	8b e5                	mov    %ebp,%esp
43efba:	5d                   	pop    %ebp
43efbb:	c2 04 00             	ret    $0x4
43efbe:	8b c6                	mov    %esi,%eax
43efc0:	33 c9                	xor    %ecx,%ecx
43efc2:	5f                   	pop    %edi
43efc3:	5e                   	pop    %esi
43efc4:	5b                   	pop    %ebx
43efc5:	66 89 08             	mov    %cx,(%eax)
43efc8:	8b e5                	mov    %ebp,%esp
43efca:	5d                   	pop    %ebp
43efcb:	c2 04 00             	ret    $0x4
43efce:	8b ce                	mov    %esi,%ecx
43efd0:	8d 04 3f             	lea    (%edi,%edi,1),%eax
43efd3:	50                   	push   %eax
43efd4:	8b 46 10             	mov    0x10(%esi),%eax
43efd7:	53                   	push   %ebx
43efd8:	8d 04 41             	lea    (%ecx,%eax,2),%eax
43efdb:	50                   	push   %eax
43efdc:	e8 1f 3f 1a 00       	call   0x5e2f00
43efe1:	8b 45 fc             	mov    -0x4(%ebp),%eax
43efe4:	83 c4 0c             	add    $0xc,%esp
43efe7:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
43efeb:	89 46 10             	mov    %eax,0x10(%esi)
43efee:	72 13                	jb     0x43f003
43eff0:	8b 0e                	mov    (%esi),%ecx
43eff2:	33 d2                	xor    %edx,%edx
43eff4:	5f                   	pop    %edi
43eff5:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
43eff9:	8b c6                	mov    %esi,%eax
43effb:	5e                   	pop    %esi
43effc:	5b                   	pop    %ebx
43effd:	8b e5                	mov    %ebp,%esp
43efff:	5d                   	pop    %ebp
43f000:	c2 04 00             	ret    $0x4
43f003:	8b ce                	mov    %esi,%ecx
43f005:	33 d2                	xor    %edx,%edx
43f007:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
43f00b:	5f                   	pop    %edi
43f00c:	8b c6                	mov    %esi,%eax
43f00e:	5e                   	pop    %esi
43f00f:	5b                   	pop    %ebx
43f010:	8b e5                	mov    %ebp,%esp
43f012:	5d                   	pop    %ebp
43f013:	c2 04 00             	ret    $0x4
43f016:	e8 b5 9f ff ff       	call   0x438fd0
43f01b:	e8 b0 9f ff ff       	call   0x438fd0
43f020:	cc                   	int3
43f021:	cc                   	int3
43f022:	cc                   	int3
43f023:	cc                   	int3
43f024:	cc                   	int3
43f025:	cc                   	int3
43f026:	cc                   	int3
43f027:	cc                   	int3
43f028:	cc                   	int3
43f029:	cc                   	int3
43f02a:	cc                   	int3
43f02b:	cc                   	int3
43f02c:	cc                   	int3
43f02d:	cc                   	int3
43f02e:	cc                   	int3
43f02f:	cc                   	int3
43f030:	55                   	push   %ebp
43f031:	8b ec                	mov    %esp,%ebp
43f033:	6a ff                	push   $0xffffffff
43f035:	6a 00                	push   $0x0
43f037:	ff 75 08             	push   0x8(%ebp)
43f03a:	e8 71 13 00 00       	call   0x4403b0
43f03f:	5d                   	pop    %ebp
43f040:	c2 04 00             	ret    $0x4
43f043:	cc                   	int3
43f044:	cc                   	int3
43f045:	cc                   	int3
43f046:	cc                   	int3
43f047:	cc                   	int3
43f048:	cc                   	int3
43f049:	cc                   	int3
43f04a:	cc                   	int3
43f04b:	cc                   	int3
43f04c:	cc                   	int3
43f04d:	cc                   	int3
43f04e:	cc                   	int3
43f04f:	cc                   	int3
43f050:	55                   	push   %ebp
43f051:	8b ec                	mov    %esp,%ebp
43f053:	56                   	push   %esi
43f054:	8b f1                	mov    %ecx,%esi
43f056:	57                   	push   %edi
43f057:	8b 7d 08             	mov    0x8(%ebp),%edi
43f05a:	8b 4e 10             	mov    0x10(%esi),%ecx
43f05d:	3b f9                	cmp    %ecx,%edi
43f05f:	77 15                	ja     0x43f076
43f061:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
43f065:	89 7e 10             	mov    %edi,0x10(%esi)
43f068:	72 02                	jb     0x43f06c
43f06a:	8b 36                	mov    (%esi),%esi
43f06c:	c6 04 3e 00          	movb   $0x0,(%esi,%edi,1)
43f070:	5f                   	pop    %edi
43f071:	5e                   	pop    %esi
43f072:	5d                   	pop    %ebp
43f073:	c2 08 00             	ret    $0x8
43f076:	53                   	push   %ebx
43f077:	8b df                	mov    %edi,%ebx
43f079:	8b c1                	mov    %ecx,%eax
43f07b:	2b d9                	sub    %ecx,%ebx
43f07d:	f7 d0                	not    %eax
43f07f:	3b c3                	cmp    %ebx,%eax
43f081:	0f 86 94 00 00 00    	jbe    0x43f11b
43f087:	85 db                	test   %ebx,%ebx
43f089:	0f 84 85 00 00 00    	je     0x43f114
43f08f:	83 ff fe             	cmp    $0xfffffffe,%edi
43f092:	0f 87 88 00 00 00    	ja     0x43f120
43f098:	8b 46 14             	mov    0x14(%esi),%eax
43f09b:	3b c7                	cmp    %edi,%eax
43f09d:	73 27                	jae    0x43f0c6
43f09f:	51                   	push   %ecx
43f0a0:	57                   	push   %edi
43f0a1:	8b ce                	mov    %esi,%ecx
43f0a3:	e8 d8 a1 ff ff       	call   0x439280
43f0a8:	85 ff                	test   %edi,%edi
43f0aa:	74 68                	je     0x43f114
43f0ac:	8b 56 10             	mov    0x10(%esi),%edx
43f0af:	8b 46 14             	mov    0x14(%esi),%eax
43f0b2:	83 fb 01             	cmp    $0x1,%ebx
43f0b5:	75 31                	jne    0x43f0e8
43f0b7:	83 f8 10             	cmp    $0x10,%eax
43f0ba:	72 22                	jb     0x43f0de
43f0bc:	8b 0e                	mov    (%esi),%ecx
43f0be:	8a 45 0c             	mov    0xc(%ebp),%al
43f0c1:	88 04 11             	mov    %al,(%ecx,%edx,1)
43f0c4:	eb 3f                	jmp    0x43f105
43f0c6:	85 ff                	test   %edi,%edi
43f0c8:	75 e2                	jne    0x43f0ac
43f0ca:	89 7e 10             	mov    %edi,0x10(%esi)
43f0cd:	83 f8 10             	cmp    $0x10,%eax
43f0d0:	72 02                	jb     0x43f0d4
43f0d2:	8b 36                	mov    (%esi),%esi
43f0d4:	5b                   	pop    %ebx
43f0d5:	5f                   	pop    %edi
43f0d6:	c6 06 00             	movb   $0x0,(%esi)
43f0d9:	5e                   	pop    %esi
43f0da:	5d                   	pop    %ebp
43f0db:	c2 08 00             	ret    $0x8
43f0de:	8a 45 0c             	mov    0xc(%ebp),%al
43f0e1:	8b ce                	mov    %esi,%ecx
43f0e3:	88 04 11             	mov    %al,(%ecx,%edx,1)
43f0e6:	eb 1d                	jmp    0x43f105
43f0e8:	83 f8 10             	cmp    $0x10,%eax
43f0eb:	72 04                	jb     0x43f0f1
43f0ed:	8b 0e                	mov    (%esi),%ecx
43f0ef:	eb 02                	jmp    0x43f0f3
43f0f1:	8b ce                	mov    %esi,%ecx
43f0f3:	0f be 45 0c          	movsbl 0xc(%ebp),%eax
43f0f7:	53                   	push   %ebx
43f0f8:	50                   	push   %eax
43f0f9:	8d 04 11             	lea    (%ecx,%edx,1),%eax
43f0fc:	50                   	push   %eax
43f0fd:	e8 fe 48 1a 00       	call   0x5e3a00
43f102:	83 c4 0c             	add    $0xc,%esp
43f105:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
43f109:	89 7e 10             	mov    %edi,0x10(%esi)
43f10c:	72 02                	jb     0x43f110
43f10e:	8b 36                	mov    (%esi),%esi
43f110:	c6 04 3e 00          	movb   $0x0,(%esi,%edi,1)
43f114:	5b                   	pop    %ebx
43f115:	5f                   	pop    %edi
43f116:	5e                   	pop    %esi
43f117:	5d                   	pop    %ebp
43f118:	c2 08 00             	ret    $0x8
43f11b:	e8 b0 9e ff ff       	call   0x438fd0
43f120:	e8 ab 9e ff ff       	call   0x438fd0
43f125:	cc                   	int3
43f126:	cc                   	int3
43f127:	cc                   	int3
43f128:	cc                   	int3
43f129:	cc                   	int3
43f12a:	cc                   	int3
43f12b:	cc                   	int3
43f12c:	cc                   	int3
43f12d:	cc                   	int3
43f12e:	cc                   	int3
43f12f:	cc                   	int3
43f130:	55                   	push   %ebp
43f131:	8b ec                	mov    %esp,%ebp
43f133:	53                   	push   %ebx