Function at 0x479c30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
mov esi, eax
mov ebx, ecx
sub esp, 0xac
mov edi, dword [esi]
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], edi
test al, al
mov dword [esp + 0x44], eax
jne 0x479c64
mov eax, dword [esi + 4]
cmp byte [eax + 0xc], 0
je 0x47a719
mov eax, dword [esp + 0xc0]
cmp byte [eax + 4], 0
je 0x47a4b2
mov eax, dword [esp + 0xc0]
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov edi, dword [esp + 0xc0]
mov eax, dword [eax]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 4]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 8]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x14]
cmp eax, dword [edi + 8]
mov dword [esp + 0x24], eax
ja 0x47a290
mov eax, dword [esp + 0x34]
cmp byte [eax + 0xcd], 0
jne 0x47a7c3
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x47a5b3
lea eax, [esp + 0x94]
xor edi, edi
mov dword [esp + 0x2c], esi
mov byte [esp + 0x20], pe_nt_image_headers32
mov esi, edi
mov dword [esp + 0x28], eax
jmp 0x479d6f
mov eax, esi
shr byte [esp + 0x20], 1
and eax, 7
cmp eax, 7
je 0x479ee1
add esi, 1
cmp esi, dword [esp + 0x24]
je 0x479ef8
mov edi, dword [esp + 0x28]
movzx eax, byte [esp + 0x20]
test byte [edi], al
je 0x479d50
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xc], 1
mov ecx, esi
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x30]
mov eax, dword [edi + 0x10]
mov edx, ebp
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
lea eax, [esp + 0x5c]
call sym._cf2_hint_init
mov dword [esp + 0xc], 0
mov eax, dword [edi + 0x10]
mov ecx, esi
mov dword [esp], ebx
mov edx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
lea eax, [esp + 0x70]
call sym._cf2_hint_init
mov edi, dword [esp + 0x5c]
test edi, 0x10
jne 0x47a2a0
mov eax, dword [esp + 0x70]
test al, 0x10
mov dword [esp + 0x38], eax
je 0x47a527
lea eax, [esp + 0x70]
test edi, edi
mov byte [esp + 0x3c], 0
mov dword [esp + 0x38], eax
jne 0x47a2a0
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x14]
test ebx, ebx
je 0x479e4e
mov edi, dword [esp + 0x38]
mov ecx, dword [eax + 0x24]
mov edi, dword [edi + 8]
cmp ecx, edi
jge 0x47a2b8
lea edx, [eax + 0x38]
xor eax, eax
jmp 0x479e43
add edx, 0x14
mov ecx, dword [edx - 0x14]
cmp ecx, edi
jge 0x47a2c0
add eax, 1
cmp eax, ebx
jne 0x479e35
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
cmp byte [eax + 0xc], 0
je 0x479e64
mov edi, dword [esp + 0x38]
test byte [edi], 0x10
je 0x47a636
test ebx, ebx
je 0x479e7d
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
lea eax, [ebx + ebx*4 - 5]
mov eax, dword [ecx + eax*4 + 0x28]
cmp dword [edi + 0xc], eax
jl 0x479ec2
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x14]
cmp eax, ebx
mov dword [esp + 0x40], eax
jbe 0x47a3b0
cmp byte [esp + 0x3c], 0
lea eax, [ebx + ebx*4]
je 0x47a6f8
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + eax*4 + 0x28]
cmp dword [esp + 0x7c], eax
jg 0x479ec2
mov eax, dword [esp + 0x40]
lea ebp, [eax - 1]
lea edx, [eax + 1]
cmp edx, 0xbf
jle 0x47a3ce
movzx eax, byte [esp + 0x20]
mov edi, dword [esp + 0x28]
not eax
and byte [edi], al
mov eax, esi
shr byte [esp + 0x20], 1
and eax, 7
cmp eax, 7
jne 0x479d62
add dword [esp + 0x28], 1
add esi, 1
cmp esi, dword [esp + 0x24]
mov byte [esp + 0x20], pe_nt_image_headers32
jne 0x479d6f
cmp byte [esp + 0x44], 0
mov esi, dword [esp + 0x2c]
jne 0x47a5be
mov ebp, 0xffffff80
xor ebx, ebx
lea edi, [esp + 0x94]
jmp 0x479f41
mov eax, ebx
mov ecx, ebp
and eax, 7
shr cl, 1
cmp eax, 7
mov ebp, ecx
je 0x479fca
add ebx, 1
cmp ebx, dword [esp + 0x24]
je 0x479fe0
mov eax, ebp
test byte [edi], al
je 0x479f20
mov dword [esp + 0xc], 1
mov eax, dword [esi + 0x10]
mov ecx, ebx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
lea eax, [esp + 0x5c]
call sym._cf2_hint_init
mov dword [esp + 0xc], 0
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov ecx, ebx
mov dword [esp], eax
lea eax, [esp + 0x70]
call sym._cf2_hint_init
lea ecx, [esp + 0x70]
lea edx, [esp + 0x5c]
mov eax, esi
call sym._cf2_hintmap_insertHint
mov eax, ebx
mov ecx, ebp
and eax, 7
shr cl, 1
cmp eax, 7
mov ebp, ecx
jne 0x479f34
add edi, 1
add ebx, 1
cmp ebx, dword [esp + 0x24]
mov ebp, 0xffffff80
jne 0x479f41
nop
mov eax, dword [esi + 8]
mov dword [eax + 0x14], 0
mov edi, dword [esi + 0x14]
test edi, edi
je 0x47a1ef
xor ecx, ecx
mov dword [esp + 0x28], edi
mov ebp, esi
mov ebx, ecx
nop
lea eax, [ebx + ebx*4]
mov eax, dword [ebp + eax*4 + 0x1c]
test al, 0xc
setne byte [esp + 0x20]
jne 0x47a340
lea esi, [ebx + 1]
mov edi, ebx
mov dword [esp + 0x24], esi
test al, 0x10
jne 0x47a2f2
lea edx, [edi + edi*4]
lea eax, [ebx + ebx*4]
mov esi, dword [ebp + edx*4 + 0x28]
mov eax, dword [ebp + eax*4 + 0x28]
movzx ecx, si
mov dword [esp + 0x2c], eax
movzx eax, ax
mov edx, ecx
mov dword [esp + 0x38], esi
mov esi, eax
neg edx
neg esi
mov dword [esp + 0x34], edx
xor edx, edx
test eax, eax
je 0x47a05a
mov edx, 0x10000
sub edx, eax
xor eax, eax
test ecx, ecx
je 0x47a067
mov eax, 0x10000
sub eax, ecx
cmp eax, edx
mov ecx, dword [esp + 0x34]
cmovg eax, edx
mov edx, dword [esp + 0x28]
cmp ecx, esi
cmovge esi, ecx
sub edx, 1
cmp edi, edx
jae 0x47a350
lea edx, [edi + 1]
lea ecx, [edx + edx*4]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x38]
lea edx, [edx + eax + 0x8000]
cmp dword [ebp + ecx*4 + 0x28], edx
jge 0x47a350
test ebx, ebx
je 0x47a0c0
mov edx, dword [esp + 0x2c]
lea ecx, [ebx + ebx*4 - 5]
lea edx, [esi + edx - 0x8000]
cmp dword [ebp + ecx*4 + 0x28], edx
jg 0x47a76b
mov ecx, esi
neg ecx
cmp eax, ecx
jge 0x47a0da
mov ecx, dword [esp + 0x28]
lea edx, [ecx + ecx*4]
test byte [ebp + edx*4 + 0x1c], 0x10
je 0x47a69d
mov eax, esi
mov ecx, dword [esp + 0x2c]
lea edx, [ebx + ebx*4]
add ecx, eax
cmp byte [esp + 0x20], 0
mov dword [ebp + edx*4 + 0x28], ecx
je 0x47a380
lea edx, [edi + edi*4]
add dword [ebp + edx*4 + 0x28], eax
test ebx, ebx
jne 0x47a2f6
lea ecx, [edi + edi*4 - 5]
lea eax, [edi + edi*4]
lea ebx, [ebp + ecx*4]
lea edx, [ebp + eax*4 + 0x10]
lea ecx, [ebx + 0x10]
mov eax, dword [edx + 0x14]
mov esi, dword [ecx + 0x14]
cmp eax, esi
je 0x47a136
sub eax, esi
mov dword [esp + 4], eax
mov eax, dword [edx + 0x18]
sub eax, dword [ecx + 0x18]
mov dword [esp], eax
call sym._FT_DivFix
mov dword [ebx + 0x2c], eax
mov ebx, dword [esp + 0x24]
add ebx, 1
mov eax, dword [ebp + 0x14]
cmp eax, ebx
mov dword [esp + 0x28], eax
ja 0x47a000
mov esi, ebp
mov ebp, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x47a1ef
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x2c], eax
mov eax, edi
jmp 0x47a173
mov eax, dword [ebp + 0x14]
sub edi, 1
cmp edi, eax
mov edx, edi
jb 0x47a191
mov eax, dword [ebp + 4]
xor edx, edx
test eax, eax
je 0x47a191
mov ecx, dword [eax]
test ecx, ecx
jne 0x47a191
mov dword [eax], 0x82
imul edx, dword [ebp + 8]
add edx, dword [esp + 0x2c]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
lea edx, [eax + eax*4]
mov ebx, ecx
mov dword [esp + 0x28], ecx
lea ecx, [edx*4]
mov dword [esp + 0x20], ecx
lea ecx, [esi + ecx + 0x10]
add ebx, dword [ecx + 0x18]
mov dword [esp + 0x24], ecx
lea ecx, [eax + eax*4 + 5]
lea edx, [ebx + 0x7fff]
cmp edx, dword [esi + ecx*4 + 0x28]
jge 0x47a1eb
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov dword [ecx + 0x18], ebx
test byte [esi + edx + 0x1c], 0xc
je 0x47a1eb
lea eax, [eax + eax*4 - 5]
mov ecx, dword [esp + 0x28]
add dword [esi + eax*4 + 0x28], ecx
test edi, edi
jne 0x47a170
cmp byte [esp + 0x44], 0
jne 0x47a390
mov eax, dword [esi + 0x14]
test eax, eax
je 0x47a390
lea edx, [esi + 0x1c]
xor ecx, ecx
mov edi, dword [esp + 0x30]
jmp 0x47a227
mov dword [eax + 0x10], ebx
mov byte [eax], 1
mov eax, dword [esi + 0x14]
add ecx, 1
add edx, 0x14
cmp ecx, eax
jae 0x47a390
mov ebx, dword [edx]
test bl, 0x20
jne 0x47a219
mov eax, dword [edx + 4]
cmp eax, dword [edi + 0x14]
jb 0x47a24e
mov ebp, dword [edi + 4]
xor eax, eax
test ebp, ebp
je 0x47a24e
cmp dword [ebp], 0
jne 0x47a24e
mov dword [ebp], 0x82
mov ebx, dword [edx]
imul eax, dword [edi + 8]
add eax, dword [edi + 0x1c]
and ebx, 0xa
mov ebx, dword [edx + 0xc]
jne 0x47a210
mov dword [eax + 0xc], ebx
jmp 0x47a213
mov eax, dword [esp + 0xc0]
mov eax, dword [eax]
test eax, eax
je 0x47a290
mov ebp, dword [eax]
test ebp, ebp
jne 0x47a290
mov dword [eax], 0x12
mov eax, dword [esp + 0xc0]
cmp byte [eax + 4], 0
jne 0x479c75
lea esi, [esi]
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [esp + 0x70]
lea eax, [esp + 0x5c]
mov dword [esp + 0x38], eax
test ecx, ecx
setne byte [esp + 0x3c]
jmp 0x479e11
xor eax, eax
lea esi, [esi]
cmp edi, ecx
je 0x479ec2
cmp byte [esp + 0x3c], 0
je 0x47a2d9
cmp dword [esp + 0x78], ecx
jge 0x479ec2
mov edi, dword [esp + 0x2c]
lea edx, [eax + eax*4]
test byte [edi + edx*4 + 0x1c], 8
jne 0x479ec2
mov ebx, eax
jmp 0x479e4a
test ebx, ebx
je 0x47a329
lea edx, [ebx + ebx*4 - 5]
lea eax, [ebx + ebx*4]
lea ebx, [ebp + edx*4]
lea ecx, [ebp + eax*4 + 0x10]
lea edx, [ebx + 0x10]
mov eax, dword [ecx + 0x14]
mov esi, dword [edx + 0x14]
cmp eax, esi
je 0x47a329
sub eax, esi
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x18]
sub eax, dword [edx + 0x18]
mov dword [esp], eax
call sym._FT_DivFix
mov dword [ebx + 0x2c], eax
cmp byte [esp + 0x20], 0
jne 0x47a103
mov ebx, dword [esp + 0x24]
jmp 0x47a13d
lea edi, [ebx + 1]
mov dword [esp + 0x24], edi
jmp 0x47a01d
test ebx, ebx
je 0x47a36d
mov ecx, dword [esp + 0x2c]
lea edx, [ebx + ebx*4 - 5]
lea ecx, [esi + ecx - 0x8000]
cmp dword [ebp + edx*4 + 0x28], ecx
jg 0x47a0dc
mov edx, esi
neg edx
cmp eax, edx
cmovg eax, esi
jmp 0x47a0dc
test ebx, ebx
jne 0x47a2f6
jmp 0x47a334
mov eax, dword [esp + 0xc0]
mov byte [esi + 0xc], 1
mov byte [eax + 5], 0
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [esp + 0x3c], 0
lea ebp, [eax - 1]
jne 0x479eb3
mov edx, dword [esp + 0x40]
cmp edx, 0xbf
jg 0x479ec2
mov eax, dword [esp + 0x40]
sub eax, ebx
test eax, eax
lea edi, [eax - 1]
je 0x47a427
mov ecx, dword [esp + 0x2c]
lea eax, [ebp + ebp*4]
mov dword [esp + 0x48], ebx
imul ebp, ebp, 0xffffffec
lea eax, [ecx + eax*4 + 0x1c]
lea ecx, [edx + edx*4]
shl ecx, 2
mov ebx, dword [eax]
lea edx, [eax + ebp]
sub edi, 1
sub eax, 0x14
mov dword [edx + ecx], ebx
mov ebx, dword [eax + 0x18]
mov dword [edx + ecx + 4], ebx
mov ebx, dword [eax + 0x1c]
mov dword [edx + ecx + 8], ebx
mov ebx, dword [eax + 0x20]
mov dword [edx + ecx + 0xc], ebx
mov ebx, dword [eax + 0x24]
cmp edi, 0xffffffff
mov dword [edx + ecx + 0x10], ebx
jne 0x47a3f4
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
lea eax, [ebx + ebx*4]
mov edx, dword [edi]
lea eax, [ecx + eax*4 + 0x10]
mov dword [eax + 0xc], edx
mov edx, dword [edi + 4]
mov dword [eax + 0x10], edx
mov edx, dword [edi + 8]
mov dword [eax + 0x14], edx
mov edx, dword [edi + 0xc]
mov dword [eax + 0x18], edx
mov edx, dword [edi + 0x10]
mov dword [eax + 0x1c], edx
mov eax, dword [esp + 0x40]
add eax, 1
cmp byte [esp + 0x3c], 0
mov dword [ecx + 0x14], eax
je 0x479ec2
lea eax, [ebx + ebx*4 + 5]
mov edx, dword [esp + 0x70]
mov edi, dword [esp + 0x28]
lea eax, [ecx + eax*4 + 0x10]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x74]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x7c]
mov dword [eax + 0x18], edx
mov edx, dword [esp + 0x80]
mov dword [eax + 0x1c], edx
mov eax, dword [esp + 0x40]
add eax, 2
mov dword [ecx + 0x14], eax
movzx eax, byte [esp + 0x20]
not eax
and byte [edi], al
jmp 0x479ecf
mov edi, dword [esp + 0x30]
mov eax, dword [ebx + 0x14]
add eax, dword [edi + 0x14]
cmp eax, 0x60
ja 0x47a262
mov edi, dword [esp + 0xc0]
lea edx, [eax + 7]
shr edx, 3
test eax, eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], edx
mov byte [edi + 4], 1
mov byte [edi + 5], 1
je 0x479c75
test edx, edx
je 0x47aa64
cmp edx, 4
lea ecx, [edi + 0x10]
jae 0x47a82b
test edx, edx
jne 0x47a920
sub edx, 1
neg eax
mov ebx, 1
and eax, 7
mov ecx, eax
mov eax, dword [esp + 0xc0]
shl ebx, cl
neg ebx
and byte [eax + edx + 0x10], bl
jmp 0x479c75
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0xc8]
mov ebp, dword [eax + 0xd8]
test ecx, ecx
je 0x479d50
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x40], edx
and eax, 0xa
test edi, 5
jne 0x47a772
test eax, eax
je 0x479d50
mov eax, dword [esp + 0x34]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x3c], esi
lea edx, [eax + 0x118]
xor eax, eax
cmp byte [edx], 0
jne 0x47a5a0
mov ebx, dword [edx - 0x10]
mov esi, ebx
sub esi, ebp
cmp esi, edi
jg 0x47a5a0
mov esi, dword [edx - 0xc]
add esi, ebp
cmp edi, esi
jle 0x47ab00
nop
add eax, 1
add edx, 0x14
cmp eax, ecx
jne 0x47a582
mov esi, dword [esp + 0x3c]
jmp 0x479d50
cmp byte [esp + 0x44], 0
je 0x479fe0
mov eax, dword [esi + 0x14]
test eax, eax
je 0x47a5d0
mov edx, dword [esi + 0x24]
test edx, edx
jle 0x47a9c1
mov eax, dword [esi + 0x10]
lea ecx, [esp + 0x70]
lea edx, [esp + 0x5c]
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x5c], 0x31
mov dword [esp + 0x6c], eax
mov eax, esi
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
call sym._cf2_hintmap_insertHint
jmp 0x479fe0
cmp byte [esp + 0x3c], 0
je 0x47a817
mov edx, dword [edi + 8]
add edx, dword [esp + 0x78]
mov ebp, edi
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
sar edx, 1
call sym._cf2_hintmap_map
mov edi, eax
mov eax, dword [esp + 0x78]
sub eax, dword [ebp + 8]
mov ecx, dword [esp + 0x2c]
mov edx, eax
shr edx, 0x1f
add eax, edx
mov edx, dword [ecx + 0x10]
sar eax, 1
imul edx
mov ecx, edx
sar ecx, 0x1f
add ecx, 0x8000
add eax, ecx
adc edx, 0
shr eax, 0x10
shl edx, 0x10
add eax, edx
mov edx, edi
sub edx, eax
add eax, edi
mov dword [ebp + 0xc], edx
mov dword [esp + 0x7c], eax
jmp 0x479e64
mov ecx, dword [ebp + 8]
sub eax, esi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], eax
mov edx, dword [ecx + 0x14]
cmp edx, dword [ecx + 0xc]
je 0x47a972
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0x28], eax
imul edx, dword [ecx + 8]
mov eax, dword [ecx + 8]
add edx, dword [esp + 0x28]
mov dword [esp + 0x28], ecx
mov dword [esp + 8], eax
lea eax, [esp + 0x70]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym._memcpy
mov ecx, dword [esp + 0x28]
add dword [ecx + 0x14], 1
lea eax, [ebx + ebx*4]
mov eax, dword [ebp + eax*4 + 0x28]
mov dword [esp + 0x2c], eax
jmp 0x47a0da
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + eax*4 + 0x28]
cmp dword [edi + 0xc], eax
jg 0x479ec2
mov eax, dword [esp + 0x40]
lea ebp, [eax - 1]
jmp 0x47a3be
mov edi, dword [esp + 0xc0]
xor edx, edx
mov ecx, dword [edi]
mov dword [esp + edx + 0x84], 0
add edx, 4
cmp edx, 0x1c
jb 0x47a724
mov edi, dword [esp + 0xc4]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x84], ecx
mov dword [esp + 8], 1
mov ecx, ebx
mov dword [esp + 4], edi
lea edi, [esp + 0x84]
mov dword [esp], edi
call sym._cf2_hintmap_build
jmp 0x479c64
xor esi, esi
jmp 0x47a0c8
test eax, eax
mov eax, dword [esp + 0x34]
jne 0x47a878
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x3c]
lea edx, [eax + 0x118]
mov dword [esp + 0x48], edi
xor eax, eax
cmp byte [edx], 0
je 0x47a7b0
mov ebx, dword [edx - 0x10]
sub ebx, ebp
cmp esi, ebx
jl 0x47a7b0
mov ebx, dword [edx - 0xc]
lea edi, [ebp + ebx]
cmp edi, esi
jge 0x47ab0d
nop
add eax, 1
add edx, 0x14
cmp eax, ecx
jne 0x47a792
mov esi, dword [esp + 0x40]
jmp 0x479d50
lea edx, [eax + 0xf4]
lea ecx, [esp + 0x70]
mov edi, eax
mov eax, esi
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
call sym._cf2_hintmap_insertHint
lea ecx, [edi + 0xe0]
lea edx, [esp + 0x70]
mov eax, esi
call sym._cf2_hintmap_insertHint
jmp 0x479d25
mov edi, dword [esp + 0x38]
mov edx, dword [edi + 8]
call sym._cf2_hintmap_map
mov dword [edi + 0xc], eax
jmp 0x479e64
mov edi, dword [esp + 0xc0]
mov dword [edi + 0x10], 0xffffffff
mov dword [edx + ecx - 4], 0xffffffff
mov edi, dword [esp + 0xc0]
lea ebx, [edi + 0x14]
and ebx, 0xfffffffc
sub ecx, ebx
add ecx, edx
and ecx, 0xfffffffc
cmp ecx, 4
jb 0x47a504
mov edi, ecx
xor ecx, ecx
and edi, 0xfffffffc
mov dword [ebx + ecx], 0xffffffff
add ecx, 4
cmp ecx, edi
jb 0x47a865
jmp 0x47a504
lea edx, [eax + 0x108]
mov dword [esp + 0x4c], edi
xor eax, eax
mov dword [esp + 0x48], esi
mov edi, dword [esp + 0x40]
jmp 0x47a8b3
sub ebx, ebp
cmp ebx, dword [esp + 0x3c]
jg 0x47a8a9
mov ebx, dword [edx + 4]
lea esi, [ebp + ebx]
cmp dword [esp + 0x3c], esi
jle 0x47a93c
add eax, 1
add edx, 0x14
cmp eax, ecx
je 0x47a917
cmp byte [edx + 0x10], 0
mov ebx, dword [edx]
jne 0x47a890
mov esi, ebx
sub esi, ebp
cmp esi, edi
jg 0x47a8a9
mov esi, dword [edx + 4]
add esi, ebp
cmp edi, esi
jg 0x47a8a9
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
cmp byte [ecx + 0xcc], 0
je 0x47aa6e
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 0x114]
mov ecx, dword [esp + 0x7c]
sub eax, ecx
test edi, edi
jne 0x47a965
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x479dfc
add dword [esp + 0x7c], eax
mov eax, ecx
or eax, 0x10
mov dword [esp + 0x70], eax
jmp 0x479dfc
mov esi, dword [esp + 0x48]
jmp 0x479d50
test dl, 2
mov byte [edi + 0x10], 0xff
je 0x47a504
mov edi, 0xffffffff
mov word [edx + ecx - 2], di
jmp 0x47a504
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
cmp byte [ecx + 0xcc], 0
je 0x47aaa4
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 0x114]
mov ecx, dword [esp + 0x68]
sub eax, ecx
or edi, 0x10
add dword [esp + 0x68], eax
mov dword [esp + 0x5c], edi
jmp 0x47a8f9
mov eax, dword [ecx]
add edx, dword [ecx + 0x10]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x34], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x2c], edx
mov edx, eax
mov eax, 0x7fffffff
mov dword [esp + 0x28], edx
xor edx, edx
div dword [esp + 0x28]
cmp dword [esp + 0x2c], eax
jbe 0x47a9d6
mov eax, dword [ecx + 4]
test eax, eax
je 0x47a6e8
mov edx, dword [eax]
test edx, edx
jne 0x47a6e8
mov dword [eax], 0x40
jmp 0x47a6e8
lea eax, [eax + eax*4 - 5]
mov eax, dword [esi + eax*4 + 0x24]
test eax, eax
jns 0x479fe0
jmp 0x47a5d0
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x5c]
mov dword [esp + 0x38], ecx
imul edx, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 0x1c]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov eax, dword [ecx + 0x18]
mov dword [esp + 4], 1
mov dword [esp + 0x3c], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call sym._ft_mem_realloc
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x47a9a1
mov eax, dword [esp + 0x2c]
mov dword [ecx + 0x18], edx
mov edx, dword [ecx + 0x14]
mov dword [ecx + 0xc], eax
cmp eax, edx
jae 0x47a6bd
mov eax, dword [ecx + 4]
test eax, eax
je 0x47aa58
mov edx, dword [eax]
test edx, edx
jne 0x47aa58
mov dword [eax], 0x82
mov eax, dword [esp + 0x2c]
mov dword [ecx + 0x14], eax
jmp 0x47a6e8
mov edx, 0xffffffff
jmp 0x47a507
mov edx, dword [esp + 0x40]
sub edx, ebx
cmp edx, dword [ecx + 0xd4]
jl 0x47aada
mov ebx, ecx
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x7c]
mov eax, dword [ebx + eax*4 + 0x114]
lea edx, [ecx + 0x8000]
add eax, 0x10000
xor dx, dx
cmp edx, eax
cmovge eax, edx
jmp 0x47a8f3
sub ebx, dword [esp + 0x3c]
cmp ebx, dword [ecx + 0xd4]
jl 0x47aaec
mov ebx, ecx
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x68]
mov eax, dword [ebx + eax*4 + 0x114]
lea edx, [ecx + 0x8000]
sub eax, 0x10000
xor dx, dx
cmp edx, eax
cmovle eax, edx
sub eax, ecx
jmp 0x47a965
mov ecx, dword [esp + 0x7c]
lea eax, [ecx + 0x8000]
xor ax, ax
jmp 0x47a8f3
mov ecx, dword [esp + 0x68]
lea eax, [ecx + 0x8000]
xor ax, ax
sub eax, ecx
jmp 0x47a965
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
jmp 0x47a8d4
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x40]
jmp 0x47a944