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

Disassembly:
push ebp
push edi
push esi
mov esi, eax
push ebx
sub esp, 0x8c
mov eax, dword [eax]
mov ebp, dword [esi + 8]
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x40], ecx
add eax, 9
cmp dword [esi + 0x2c], eax
mov dword [esp + 0x24], eax
cmovge eax, dword [esi + 0x2c]
mov dword [esi + 0x2c], eax
test ebp, ebp
je 0x665b6b40
mov edi, dword [esp + 0x34]
test edi, edi
je 0x665b654c
mov eax, dword [edi + 0x1c]
test eax, eax
jne 0x665b6560
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0x5c
mov edx, dword [edi]
mov ecx, 0x6668ff00
mov eax, str.sqlite__
call fcn.66587c60
test eax, eax
je 0x665b654c
mov edx, dword [edi + 0x48]
mov eax, dword [esp + 0x30]
mov edi, dword [edi]
mov eax, dword [eax + 0x10]
test edx, edx
je 0x665b7120
cmp edx, dword [eax + 0xc]
je 0x665b7018
xor ebx, ebx
mov dword [esp + 0x1c], ebp
add eax, 0x10
mov ebp, ebx
lea esi, [esi]
add ebp, 1
mov ecx, eax
add eax, 0x10
mov ebx, ebp
shl ebx, 4
cmp edx, dword [eax - 4]
jne 0x665b65a8
mov eax, dword [ecx]
mov dword [esp], 0
mov ecx, edi
mov edx, 0x1c
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov eax, esi
call fcn.665b6330
test eax, eax
jne 0x665b654c
cmp dword [esp + 0x54], 1
je 0x665b661a
mov eax, dword [esp + 0x34]
mov edx, dword [eax]
mov ecx, dword [eax + 0x1c]
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebx + 4]
cmp byte [eax + 9], 0
je 0x665b661a
mov dword [esp + 4], edx
mov edx, dword [esp + 0x54]
mov eax, esi
mov dword [esp], 0
call fcn.665995a0
mov eax, dword [esp + 0xa4]
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xa8]
add eax, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa4]
lea ebx, [eax + 6]
add eax, 7
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x70], ebx
add eax, 8
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xa8]
add eax, 1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xa8]
add eax, 2
cmp dword [esi + 0x28], eax
cmovge eax, dword [esi + 0x28]
mov dword [esi + 0x28], eax
mov eax, esi
mov dword [esp], edi
mov dword [esp + 4], 0x61
call fcn.665b4280
mov ecx, dword [edi]
mov edx, ebx
mov eax, ebp
call fcn.665a0a80
mov edi, dword [edi + 8]
test edi, edi
je 0x665b70f0
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0x40]
mov byte [esp + 0x6a], 1
mov dword [esp + 0x1c], esi
add eax, 1
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xa4]
add eax, 2
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xa4]
add eax, 3
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xa4]
add eax, 5
test ebx, ebx
mov dword [esp + 0x64], eax
setne byte [esp + 0x6b]
jmp 0x665b673a
mov eax, dword [esp + 0x1c]
xor edx, edx
mov ecx, edx
mov ebx, dword [eax + 0x38]
mov dword [esp + 0x78], ebx
sub ebx, 1
mov dword [eax + 0x38], ebx
lea eax, [esi*4]
mov edx, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x74], ebx
call fcn.6658bdd0
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x665b6b98
mov edi, dword [edi + 0x14]
test edi, edi
je 0x665b6e88
cmp dword [esp + 0x40], edi
je 0x665b6747
cmp byte [esp + 0x6b], 0
jne 0x665b672f
mov ecx, dword [edi + 0x24]
movzx ebx, byte [esp + 0x6a]
mov eax, 0
test ecx, ecx
cmove ebx, eax
movzx eax, byte [edi + 0x38]
mov byte [esp + 0x6a], bl
mov ebx, dword [esp + 0x34]
test byte [ebx + 0x24], 0x80
je 0x665b6779
mov edx, eax
and edx, 3
cmp dl, 2
je 0x665b6e70
movzx ebx, word [edi + 0x34]
mov ecx, dword [edi]
lea esi, [ebx - 1]
test al, 8
je 0x665b678d
movzx eax, word [edi + 0x32]
lea esi, [eax - 1]
mov edx, dword [esp + 0x5c]
mov eax, ebp
call fcn.665a0a80
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov edx, dword [ecx + 0x2c]
add eax, esi
cmp eax, edx
cmovl eax, edx
mov edx, dword [esp + 0x54]
mov dword [ecx + 0x2c], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], edx
mov eax, dword [edi + 0x2c]
mov edx, 0x61
mov dword [esp], eax
mov eax, ebp
call fcn.6659fdb0
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.665b4220
mov eax, dword [esp + 0x38]
mov ecx, ebx
mov edx, 0x45
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, ebp
call fcn.6659fdb0
mov eax, dword [esp + 0x60]
movzx ecx, word [edi + 0x32]
mov dword [esp + 4], 0
mov edx, 0x45
mov dword [esp], eax
mov eax, ebp
call fcn.6659fdb0
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x4c], eax
cmp eax, dword [ebp + 0x70]
jge 0x665b6e30
mov ebx, dword [esp + 0x4c]
mov edx, dword [ebp + 0x68]
lea eax, [ebx + 1]
mov dword [ebp + 0x6c], eax
lea eax, [ebx + ebx*4]
mov ebx, dword [esp + 0x28]
lea eax, [edx + eax*4]
mov dword [eax + 4], ebx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0x25
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, 0x5d
mov dword [esp + 4], 1
mov dword [esp], eax
mov eax, ebp
call fcn.6659fdb0
mov eax, dword [esp + 0x30]
mov edx, 0x45
mov ecx, dword [eax + 0x1dc]
mov eax, dword [esp + 0x64]
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, ebp
call fcn.6659fdb0
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x38]
xor edx, edx
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov ecx, ebx
mov dword [esp + 8], 0x6668ffa0
mov dword [esp + 4], 4
call fcn.665a1250
mov dword [esp], ebx
xor ecx, ecx
mov edx, 0x45
mov dword [esp + 4], 0
mov eax, ebp
call fcn.6659fdb0
test esi, esi
jg 0x665b66f8
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], 0
mov edx, 1
mov dword [esp + 8], 0x6668ff60
mov ecx, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], 2
call fcn.665a1250
mov eax, dword [esp + 0x30]
mov esi, dword [eax + 0x1dc]
test esi, esi
je 0x665b6b70
mov esi, dword [ebp + 0x6c]
mov edx, dword [ebp + 0x70]
cmp esi, edx
jge 0x665b7068
mov ecx, dword [ebp + 0x68]
lea eax, [esi + esi*4]
lea ebx, [esi + 1]
mov dword [ebp + 0x6c], ebx
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x20]
mov dword [eax + 8], 0
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0x32
cmp ebx, edx
jge 0x665b7098
mov edx, dword [ebp + 0x68]
lea eax, [ebx + 1]
mov ecx, dword [esp + 0x20]
mov dword [ebp + 0x6c], eax
lea eax, [ebx + ebx*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0x12
mov eax, dword [esp + 0x24]
mov dword [esp], 0
mov edx, 0x19
mov dword [esp + 8], 1
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, ebp
call fcn.665a0980
mov ecx, dword [ebp]
test esi, esi
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x6c]
lea edx, [eax - 1]
cmovs esi, edx
cmp byte [ecx + 0x53], 0
mov edx, 0x666b004c
jne 0x665b69fb
mov edx, dword [ebp + 0x68]
lea ecx, [esi + esi*4]
lea edx, [edx + ecx*4]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x58]
mov edx, 5
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x28]
mov dword [esp], eax
mov eax, ebp
call fcn.6659fdb0
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp]
test ebx, ebx
lea edx, [eax - 1]
cmovs ebx, edx
cmp byte [ecx + 0x53], 0
jne 0x665b6e60
mov esi, dword [esp + 0x2c]
mov ecx, dword [ebp + 0x68]
lea ebx, [ebx + ebx*4]
test esi, esi
mov dword [ecx + ebx*4 + 8], eax
cmovns edx, esi
lea edx, [edx + edx*4]
lea edx, [ecx + edx*4]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x50]
xor edx, edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6668ff20
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], 1
call fcn.665a1250
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x70]
mov eax, ebp
mov dword [esp + 0xc], 0
mov edx, 0x5c
mov dword [esp + 8], 0x6667ed43
mov dword [esp + 4], esi
mov dword [esp], 3
call fcn.665a0890
mov eax, dword [esp + 0xa4]
mov edx, 0x7a
mov dword [esp + 4], 0
mov ecx, dword [esp + 0xa0]
mov dword [esp], eax
mov eax, ebp
call fcn.6659fdb0
mov eax, dword [esp + 0xa4]
mov dword [esp], esi
mov edx, 0x7b
mov ecx, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6659fdb0
mov eax, dword [ebp + 0x6c]
test eax, eax
jle 0x665b6b0d
mov ecx, dword [ebp + 0x68]
lea edx, [eax + eax*4]
mov ebx, 8
lea edx, [ecx + edx*4]
mov word [edx - 0x12], bx
mov esi, dword [esp + 0x4c]
mov ecx, dword [ebp]
lea edx, [eax - 1]
test esi, esi
cmovns edx, esi
cmp byte [ecx + 0x53], 0
mov esi, edx
mov edx, 0x666b004c
jne 0x665b6b32
mov edx, dword [ebp + 0x68]
lea ecx, [esi + esi*4]
lea edx, [edx + ecx*4]
mov dword [edx + 8], eax
jmp 0x665b672f
mov eax, dword [esi + 0x74]
test eax, eax
je 0x665b6e10
mov eax, esi
call fcn.6659fe10
mov ebp, eax
test eax, eax
jne 0x665b653d
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
mov edx, 5
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, ebp
call fcn.6659fdb0
jmp 0x665b6a51
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x7c], eax
cmp eax, dword [ebp + 0x70]
jge 0x665b70c0
mov ebx, dword [esp + 0x7c]
mov edx, dword [ebp + 0x68]
lea eax, [ebx + 1]
mov dword [ebp + 0x6c], eax
mov dword [esp + 0x58], eax
lea eax, [ebx + ebx*4]
lea eax, [edx + eax*4]
mov dword [eax], 0xb
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
cmp esi, 1
je 0x665b6fd8
mov dword [esp + 0x44], esi
xor ebx, ebx
mov dword [esp + 0x48], edi
jmp 0x665b6c74
mov edi, dword [ebp + 0x68]
lea eax, [edx + 1]
mov dword [ebp + 0x6c], eax
lea eax, [edx + edx*4]
lea eax, [edi + eax*4]
mov edi, dword [esp + 0x20]
mov dword [eax + 8], 0
mov dword [eax + 4], edi
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0
mov dword [eax], 0x34
mov dword [esp], 0xfffffffe
mov eax, ebp
mov ecx, esi
mov dword [esp + 0x3c], edx
call fcn.6659aa70
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov dword [eax + ebx*4], edx
mov eax, dword [ebp + 0x6c]
test eax, eax
jle 0x665b6c65
mov edi, dword [ebp + 0x68]
lea eax, [eax + eax*4]
mov edx, pe_nt_image_headers32
lea eax, [edi + eax*4]
mov word [eax - 0x12], dx
lea eax, [ebx + 1]
cmp dword [esp + 0x44], eax
je 0x665b6d00
mov ebx, eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x20]
mov edx, dword [eax + ebx*4]
mov eax, dword [esp + 0x1c]
call fcn.665b40c0
mov dword [esp + 4], 0
mov ecx, ebx
mov edx, 0x45
mov esi, eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, ebp
call fcn.6659fdb0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov dword [esp], ebx
mov edx, 0x5a
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6659fdb0
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 0x6c]
lea ecx, [eax + ebx]
cmp edx, dword [ebp + 0x70]
jl 0x665b6c00
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x20]
mov edx, 0x34
mov eax, ebp
mov dword [esp], 0
call fcn.6659fd40
mov edx, eax
jmp 0x665b6c2d
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x44]
mov edx, 0x45
mov dword [esp + 4], 0
mov edi, dword [esp + 0x48]
mov dword [esp], eax
mov ecx, esi
mov eax, ebp
call fcn.6659fdb0
mov edx, dword [esp + 0x74]
mov eax, ebp
call fcn.665a07c0
mov esi, dword [esp + 0x7c]
mov edx, dword [ebp + 0x6c]
test esi, esi
lea eax, [edx - 1]
cmovns eax, esi
mov esi, eax
mov eax, dword [ebp]
movzx eax, byte [eax + 0x53]
mov ecx, eax
mov byte [esp + 0x3c], al
mov eax, 0x666b004c
test cl, cl
jne 0x665b6d60
mov eax, dword [ebp + 0x68]
lea ecx, [esi + esi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x28]
xor esi, esi
mov dword [esp + 0x48], edi
movzx edi, byte [esp + 0x3c]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], eax
jmp 0x665b6d8c
mov ecx, dword [ebp]
mov edx, dword [ebp + 0x6c]
mov esi, eax
movzx edi, byte [ecx + 0x53]
mov eax, dword [esp + 0x2c]
lea ecx, [edx - 1]
mov ebx, edi
mov eax, dword [eax + esi*4]
test eax, eax
cmovs eax, ecx
mov ecx, 0x666b004c
test bl, bl
jne 0x665b6daf
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0x68]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x24]
mov dword [ecx + 8], edx
mov edx, 0x5a
mov dword [esp], esi
mov ecx, dword [esp + 0x3c]
add eax, esi
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6659fdb0
lea eax, [esi + 1]
cmp dword [esp + 0x44], esi
jne 0x665b6d80
mov eax, dword [ebp + 0xc]
mov edi, dword [esp + 0x48]
mov edx, dword [eax + 0x38]
add edx, dword [eax + 0x3c]
js 0x665b7050
mov ecx, dword [esp + 0x78]
mov edx, dword [ebp + 0x6c]
shl ecx, 2
neg ecx
add ecx, dword [eax + 0x40]
mov dword [ecx], edx
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
call fcn.665926e0
jmp 0x665b68f3
mov eax, dword [esp + 0x30]
test byte [eax + 0x4c], 8
jne 0x665b6b4b
mov byte [esi + 0x17], 1
jmp 0x665b6b4b
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x28]
mov edx, 0x25
mov eax, ebp
mov dword [esp], 0
call fcn.6659fd40
mov dword [esp + 0x4c], eax
jmp 0x665b6857
mov dword [0x666b0054], eax
mov edx, 0x666b004c
jmp 0x665b6a4e
movzx ebx, word [edi + 0x32]
mov eax, dword [esp + 0x34]
lea esi, [ebx - 1]
mov ecx, dword [eax]
jmp 0x665b678d
movzx eax, byte [esp + 0x6a]
and eax, 1
mov edi, dword [esp + 0x40]
test edi, edi
jne 0x665b654c
test al, al
je 0x665b654c
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], 0
mov edx, 0x5d
mov ecx, dword [esp + 0xa8]
mov dword [esp], eax
mov eax, ebp
call fcn.6659fdb0
mov ebx, dword [ebp + 0x6c]
cmp ebx, dword [ebp + 0x70]
jge 0x665b70fa
mov edx, dword [ebp + 0x68]
lea eax, [ebx + 1]
mov edi, dword [esp + 0x6c]
mov dword [ebp + 0x6c], eax
lea eax, [ebx + ebx*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], edi
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0x14
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], 0
xor ecx, ecx
mov edx, 0x48
mov dword [esp], eax
mov eax, ebp
call fcn.6659fdb0
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x70]
mov eax, ebp
mov dword [esp + 0xc], 0
mov edx, 0x5c
mov dword [esp + 8], 0x6667ed43
mov dword [esp + 4], edi
mov dword [esp], 3
call fcn.665a0890
mov eax, dword [esp + 0xa4]
mov edx, 0x7a
mov dword [esp + 4], 0
mov ecx, dword [esp + 0xa0]
mov dword [esp], eax
mov eax, ebp
call fcn.6659fdb0
mov eax, dword [esp + 0xa4]
mov dword [esp], edi
mov edx, 0x7b
mov ecx, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6659fdb0
mov eax, dword [ebp + 0x6c]
test eax, eax
jle 0x665b6fae
mov ecx, dword [ebp + 0x68]
lea edx, [eax + eax*4]
mov esi, 8
lea edx, [ecx + edx*4]
mov word [edx - 0x12], si
mov ecx, dword [ebp]
lea edx, [eax - 1]
test ebx, ebx
cmovs ebx, edx
mov edx, 0x666b004c
cmp byte [ecx + 0x53], 0
jne 0x665b6fcd
mov edx, dword [ebp + 0x68]
lea ecx, [ebx + ebx*4]
lea edx, [edx + ecx*4]
mov dword [edx + 8], eax
jmp 0x665b654c
cmp word [edi + 0x32], 1
jne 0x665b6bea
cmp byte [edi + 0x36], 0
je 0x665b6bea
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x24]
mov edx, 0x33
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, ebp
call fcn.6659fdb0
jmp 0x665b6bea
mov eax, dword [eax]
mov dword [esp], 0
mov ecx, edi
mov edx, 0x1c
mov dword [esp + 4], eax
mov eax, esi
call fcn.665b6330
mov dword [esp + 0x54], eax
test eax, eax
jne 0x665b654c
mov eax, dword [esp + 0x34]
xor ebx, ebx
mov edx, dword [eax]
mov ecx, dword [eax + 0x1c]
jmp 0x665b65f5
mov ecx, dword [esp + 0x78]
mov edx, ebp
neg ecx
call fcn.6659a020
jmp 0x665b6dfc
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x20]
mov edx, 0x32
mov eax, ebp
mov dword [esp], 0
call fcn.6659fd40
mov ebx, dword [ebp + 0x6c]
mov edx, dword [ebp + 0x70]
mov esi, eax
jmp 0x665b6975
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x20]
mov edx, 0x12
mov eax, ebp
mov dword [esp], 0
call fcn.6659fd40
mov ebx, eax
jmp 0x665b69ae
mov dword [esp], 0
xor ecx, ecx
mov edx, 0xb
mov eax, ebp
mov dword [esp + 4], 0
call fcn.6659fd40
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x58], eax
sub eax, 1
mov dword [esp + 0x7c], eax
jmp 0x665b6be1
mov eax, 1
jmp 0x665b6e90
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x6c]
mov edx, 0x14
mov eax, ebp
mov dword [esp], 0
call fcn.6659fd40
mov ebx, eax
jmp 0x665b6f03
mov eax, dword [eax - 0x80000]
mov dword [esp], 0
mov ecx, edi
mov edx, 0x1c
mov dword [esp + 4], eax
mov eax, esi
call fcn.665b6330
test eax, eax
jne 0x665b654c
mov eax, dword [esp + 0x34]
mov dword [esp + 0x54], 0xffff8000
mov ebx, 0xfff80000
mov edx, dword [eax]
mov ecx, dword [eax + 0x1c]
jmp 0x665b65f5