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

Disassembly:
sub esp, 0x34
push ebx
mov ebx, dword [esp + 0x3c]
push ebp
push esi
push edi
mov edi, dword [esp + 0x5c]
test edi, edi
mov dword [esp + 0x10], 0
jne 0x669d7d
push 0
lea eax, [esp + 0x18]
push 0x10000
push eax
push ebx
call fcn.00669fd0
add esp, 0x10
cmp eax, 0xffffff80
jne 0x669d62
cmp edx, 0xffffffff
jne 0x669d62
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
test edx, edx
jg 0x669d79
jl 0x669d6c
test eax, eax
jae 0x669d79
pop edi
pop esi
pop ebp
mov eax, 0xffffff7c
pop ebx
add esp, 0x34
ret
lea edi, [esp + 0x14]
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.0066c430
mov edx, dword [esp + 0x54]
push edx
call fcn.00679820
push edi
mov dword [ebx + 0x58], 2
call fcn.00668db0
add esp, 0xc
test eax, eax
je 0x669ef5
mov ebp, dword [esp + 0x54]
test ebp, ebp
je 0x669dd8
mov esi, dword [esp + 0x58]
mov ecx, dword [ebp]
mov eax, dword [esi]
push eax
push ecx
push edi
call fcn.0066a170
add esp, 0xc
test eax, eax
jne 0x669e97
push esi
push ebp
push edi
call fcn.0066a110
add esp, 0xc
cmp dword [ebx + 0x58], 3
jge 0x669e3a
push edi
lea esi, [ebx + 0x78]
call fcn.00668eb0
push eax
push esi
call fcn.00669860
push edi
push esi
call fcn.006694a0
lea edx, [esp + 0x38]
push edx
push esi
call fcn.00669890
add esp, 0x1c
test eax, eax
jle 0x669e3a
lea eax, [esp + 0x24]
push eax
call fcn.0066c5d0
add esp, 4
test eax, eax
je 0x669e3a
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x24]
mov dword [ebx + 0x58], 3
push ecx
push edx
push eax
call fcn.0066c680
add esp, 0xc
test eax, eax
jne 0x669eb4
push 0
push 0x10000
push edi
push ebx
call fcn.00669fd0
add esp, 0x10
cmp eax, 0xffffff80
jne 0x669e59
cmp edx, 0xffffffff
je 0x669ee1
test edx, edx
jl 0x669efb
jg 0x669e6b
test eax, eax
jb 0x669efb
cmp dword [ebx + 0x58], 3
jne 0x669e84
push edi
call fcn.00668eb0
mov ecx, dword [ebx + 0x1c8]
add esp, 4
cmp ecx, eax
je 0x669ee8
push edi
call fcn.00668db0
add esp, 4
test eax, eax
jne 0x669dad
jmp 0x669ef5
mov eax, dword [ebp]
test eax, eax
je 0x669ea7
push eax
call fcn.004cb3f4
add esp, 4
mov dword [ebp], 0
mov dword [esi], 0
mov esi, 0xffffff7b
mov eax, dword [esp + 0x4c]
push eax
call fcn.0066c460
mov ecx, dword [esp + 0x54]
push ecx
call fcn.0066c3a0
add esp, 8
mov eax, esi
mov dword [ebx + 0x58], 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov esi, 0xffffff80
jmp 0x669eb9
lea ecx, [ebx + 0x78]
push edi
push ecx
call fcn.006694a0
add esp, 8
cmp dword [ebx + 0x58], 3
je 0x669f02
mov esi, 0xffffff7c
jmp 0x669eb9
xor ebp, ebp
cmp ebp, 2
jge 0x669fbf
lea edx, [esp + 0x24]
lea eax, [ebx + 0x78]
push edx
push eax
call fcn.00669890
add esp, 8
test eax, eax
je 0x669f50
cmp eax, 0xffffffff
je 0x669eb4
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
lea eax, [esp + 0x24]
push eax
push ecx
push edx
call fcn.0066c680
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x669eb9
inc ebp
cmp ebp, 2
jge 0x669fbf
jmp 0x669f0d
cmp ebp, 2
jge 0x669fbf
push 0
push 0x10000
push edi
push ebx
call fcn.00669fd0
add esp, 0x10
test edx, edx
jl 0x669eb4
jg 0x669f78
test eax, eax
jb 0x669eb4
push edi
call fcn.00668eb0
mov ecx, dword [ebx + 0x1c8]
add esp, 4
cmp ecx, eax
push edi
je 0x669fae
call fcn.00668db0
add esp, 4
test eax, eax
je 0x669f55
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x669eb4
mov dword [esp + 0x10], 1
jmp 0x669f55
lea eax, [ebx + 0x78]
push eax
call fcn.006694a0
add esp, 8
jmp 0x669f04
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x34
ret