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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x669f8d
sub esp, 0x74
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x669d19
mov ebx, dword [edx]
mov ecx, dword [edx + 4]
cmp ecx, eax
jbe 0x669f87
lea ebp, [eax + eax*2]
mov eax, ecx
lea ecx, [ebx + ebp*8]
cmp byte [ecx], 3
jne 0x669d0d
lea ecx, [ebx + ebp*8 + 8]
mov ecx, dword [ecx]
test cl, 4
je 0x669d0d
xor ecx, ecx
jmp 0x669d2a
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
lea ebx, [edi + 0x18]
mov edx, esi
mov dword [esp + 0x14], ecx
lea edi, [esp + 0x38]
mov esi, ebx
call fcn.004637f4
mov ecx, dword [edx + 4]
mov ebp, dword [edx]
mov esi, edx
mov edx, dword [esp + 0x3c]
cmp ecx, edx
jbe 0x669f80
lea edx, [edx + edx*2]
lea edx, [ebp + edx*8]
movzx edx, byte [edx]
mov edi, ebx
movzx ebx, byte [esp + 0x38]
cmp bl, 1
ja 0x669d81
cmp dl, 4
je 0x669da6
mov edx, dword [esp + 0x40]
cmp edx, ecx
jae 0x669f79
lea ecx, [edx + edx*2]
lea ecx, [ebp + ecx*8]
cmp byte [ecx], 4
jne 0x669d9b
jmp 0x669da6
cmp bl, 3
jne 0x669d96
cmp dl, 4
jne 0x669d9b
mov ecx, dword [esp + 0x40]
test cl, 8
jne 0x669d9b
jmp 0x669db2
cmp dl, 4
je 0x669df4
mov ecx, dword [esp + 0x14]
inc ecx
cmp eax, ecx
jg 0x669d25
jmp 0x669dbe
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp], esi
call fcn.00667f90
mov eax, dword [esp + 4]
mov dword [esp], eax
call fcn.00668390
mov eax, dword [esp + 4]
test eax, eax
je 0x669e00
nop
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
test edx, edx
je 0x669e00
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
xor ebx, ebx
jmp 0x669e15
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], eax
add esp, 0x74
ret
mov ebp, dword [esp + 0x1c]
add ebp, 0x18
mov edx, esi
mov ebx, ecx
mov ecx, ebp
mov dword [esp + 0x1c], ecx
lea edi, [esp + 0x20]
mov esi, ecx
call fcn.004637f4
movzx ecx, byte [esp + 0x20]
cmp cl, 6
ja 0x669e80
cmp cl, 1
jbe 0x669e85
mov ebp, dword [eax]
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x669f72
lea ecx, [ebx + ebx*8]
mov dword [ebp + ecx*4 + 0x1c], 0
mov dword [ebp + ecx*4 + 0x20], 0
lea edi, [ebp + ecx*4 + 0x18]
mov esi, edx
mov edx, dword [0x8e84e0]
test edx, edx
jne 0x669e70
mov dword [ebp + ecx*4 + 0x18], 0
jmp 0x669f54
mov ecx, eax
xor eax, eax
call fcn.00463080
mov eax, ecx
jmp 0x669f54
cmp cl, 7
jne 0x669e8c
mov esi, edx
jmp 0x669f54
cmp cl, 0xa
ja 0x669f52
mov ebp, dword [eax]
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x669f6b
lea ecx, [ebx + ebx*8]
mov dword [ebp + ecx*4 + 0x1c], 0
mov dword [ebp + ecx*4 + 0x20], 0
lea edi, [ebp + ecx*4 + 0x18]
mov esi, edx
mov edx, dword [0x8e84e0]
test edx, edx
jne 0x669ecf
mov dword [ebp + ecx*4 + 0x18], 0
jmp 0x669eda
mov edx, eax
xor eax, eax
call fcn.00463080
mov eax, edx
mov dword [esp + 0x10], ecx
lea edi, [esp + 0x50]
mov edx, eax
xor eax, eax
call fcn.00463317
lea edi, [esp + 0x50]
mov eax, esi
lea esi, [esp + 0x20]
call fcn.004637f4
mov ecx, dword [edx + 4]
mov ebp, dword [edx]
cmp ebx, ecx
jae 0x669f64
mov ecx, dword [esp + 0x10]
lea edi, [ebp + ecx*4]
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x669f20
lea esi, [esp + 0x50]
call fcn.004637d6
jmp 0x669f4a
mov dword [esp + 0xc], ebx
lea eax, [0x69f180]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x50]
mov dword [esp + 8], eax
call fcn.00410e50
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
mov eax, edx
mov esi, dword [esp + 0x14]
jmp 0x669f54
mov esi, edx
lea ecx, [ebx + 1]
cmp esi, ecx
jg 0x669e08
jmp 0x669e00
mov eax, ebx
call fcn.00463100
mov eax, ebx
call fcn.00463100
mov eax, ebx
call fcn.00463100
mov eax, edx
call fcn.00463110
mov eax, edx
call fcn.00463110
call fcn.00463100
nop
call fcn.00461c70
jmp fcn.00669cc0