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

Disassembly:
sub esp, 0x200
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x38]
push edi
mov edi, dword [eax + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x70]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0xc4], edi
je 0x668872
mov eax, dword [edi + 0x68]
push ebp
mov ebp, dword [edi + 8]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], 0x7fffffff
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x40], bl
mov ecx, dword [edi + 0x74]
mov edx, dword [edi + 0x70]
push ecx
push ebx
push edx
lea ecx, [esp + 0x2c]
mov dword [esp + 0xc0], ebp
mov dword [esp + 0x28], eax
call fcn.005d42bc
cmp byte [edi + 0x7e], 0x22
jne 0x66821c
add dword [esp + 0x24], 2
cmp ebp, ebx
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], 0x7fffffff
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov byte [esp + 0xec], bl
je 0x668275
mov eax, dword [edi + 0xc]
push eax
push ebx
push ebp
lea ecx, [esp + 0xd8]
call fcn.005d42bc
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0x18]
mov edi, dword [edx + 0x10]
mov eax, dword [edi + 0x28]
push 4
lea ecx, [esp + 0x98]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0xa4], eax
call fcn.00682d3c
mov eax, dword [edi + 0x28]
push 4
lea ecx, [esp + 0xbc]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc8], eax
call fcn.00682d3c
mov eax, dword [edi + 0x28]
push 4
lea ecx, [esp + 0x88]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x94], eax
call fcn.00682d3c
mov edi, dword [edi + 0x28]
push 4
lea ecx, [esp + 0xa8]
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xb4], edi
call fcn.00682d3c
push 4
lea ecx, [esp + 0x78]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x84], ebx
call fcn.005b23cc
push 4
lea ecx, [esp + 0x48]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x54], ebx
call fcn.005b23cc
push 4
lea ecx, [esp + 0x58]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x64], ebx
call fcn.005b23cc
push 4
lea ecx, [esp + 0x68]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x74], ebx
call fcn.005b23cc
lea esp, [esp]
mov eax, dword [esp + 0x24]
cmp eax, ebx
jl 0x6683c4
mov ecx, dword [esp + 0x28]
cmp ecx, 0xffffffff
je 0x6683f1
lea edx, [eax + 1]
cmp edx, ecx
jle 0x6683f1
mov eax, dword [esi + 8]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x48]
mov eax, dword [edx + 0x54]
cmp eax, ebx
jne 0x6683db
push 0x15
call fcn.006cd795
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x453
mov ecx, eax
call fcn.006cea90
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov cl, byte [eax + ecx]
inc eax
cmp cl, bl
mov byte [esp + 0x13], cl
mov dword [esp + 0x24], eax
je 0x6686d8
lea ecx, [esp + 0xf0]
call fcn.005454bc
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
lea edi, [eax + ebp]
add eax, 2
mov dword [esp + 0x24], eax
mov dword [esp + 0x1cc], 0xe
xor edx, edx
mov dh, byte [edi + 1]
lea ecx, [eax + ebp]
mov ebp, dword [esp + 0x14]
add eax, 2
mov dl, byte [edi]
mov dword [esp + 0x24], eax
xor eax, eax
mov ah, byte [ecx + 1]
mov edi, edx
mov al, byte [ecx]
add eax, dword [ebp + 0x1c]
lea ecx, [esp + 0xf0]
push ecx
lea ecx, [esp + 0x24]
mov dword [esp + 0x1dc], eax
call fcn.005d5e6c
mov edx, dword [esp + 0xc8]
cmp byte [edx + 0x7e], 0x22
jne 0x66848d
push 1
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0x28]
call fcn.005d5fbc
jmp 0x6684b9
cmp dword [esp + 0xb4], ebx
je 0x6684ad
push ebx
lea ecx, [esp + 0x110]
push ecx
lea ecx, [esp + 0xd4]
call fcn.005d5fbc
jmp 0x6684b9
lea ecx, [esp + 0x10c]
call fcn.005a335c
test byte [esp + 0x13], 0x10
je 0x668501
mov ecx, dword [esp + 0x1cc]
or ecx, 0x100
push 0xc
mov dword [esp + 0x1d0], ecx
call fcn.0071528c
add esp, 4
cmp eax, ebx
je 0x6684ec
mov dword [eax + 4], ebx
mov dword [eax], ebx
mov dword [eax + 8], ebx
jmp 0x6684ee
xor eax, eax
lea edx, [esp + 0x20]
push edx
mov ecx, eax
mov dword [esp + 0x204], eax
call fcn.0058062c
test byte [esp + 0x13], 0x20
je 0x668521
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dl, byte [eax + ecx]
inc eax
mov byte [esp + 0x1fd], dl
mov dword [esp + 0x24], eax
jmp 0x668529
mov byte [esp + 0x1fd], 1
push edi
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.005d52cc
cmp eax, ebx
mov dword [esp + 0x1d0], eax
je 0x66869e
test byte [esp + 0x13], 1
je 0x66859b
mov ecx, dword [edi + 0xd4]
lea eax, [esp + 0xf0]
push eax
push ebp
add ecx, 0x15c
call fcn.005b26ac
cmp eax, ebx
mov ebp, dword [esp + 0x18]
je 0x66859f
push ebx
push eax
mov ecx, ebp
call fcn.0068a0ac
cmp eax, ebx
je 0x66859f
push eax
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x9c]
push edx
call fcn.006680cc
add esp, 0xc
push ebx
push ebx
mov ecx, esi
call fcn.00667d3c
jmp 0x66859f
mov ebp, dword [esp + 0x18]
test byte [esp + 0x13], 2
je 0x6685f4
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0xf0]
push eax
push ecx
mov ecx, dword [edi + 0xd4]
add ecx, 0x15c
call fcn.005b26ac
cmp eax, ebx
je 0x6685f4
push ebx
push eax
mov ecx, ebp
call fcn.0068a0ac
cmp eax, ebx
je 0x6685f4
push eax
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0xc0]
push eax
call fcn.006680cc
add esp, 0xc
push ebx
push ebx
mov ecx, esi
call fcn.00667d3c
test byte [esp + 0x13], 4
je 0x668649
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0xf0]
push ecx
mov ecx, dword [edi + 0xd4]
push edx
add ecx, 0x15c
call fcn.005b26ac
cmp eax, ebx
je 0x668649
push ebx
push eax
mov ecx, ebp
call fcn.0068a0ac
cmp eax, ebx
je 0x668649
push eax
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x8c]
push ecx
call fcn.006680cc
add esp, 0xc
push ebx
push ebx
mov ecx, esi
call fcn.00667d3c
test byte [esp + 0x13], 8
je 0x66869e
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0xd4]
lea edx, [esp + 0xf0]
push edx
push eax
add ecx, 0x15c
call fcn.005b26ac
cmp eax, ebx
je 0x66869e
push ebx
push eax
mov ecx, ebp
call fcn.0068a0ac
cmp eax, ebx
je 0x66869e
push eax
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0xac]
push edx
call fcn.006680cc
add esp, 0xc
push ebx
push ebx
mov ecx, esi
call fcn.00667d3c
mov eax, dword [esp + 0x1cc]
test ah, 1
je 0x6686cc
mov ecx, dword [esp + 0x200]
cmp ecx, ebx
mov edi, ecx
je 0x6686c5
call fcn.005805bc
push edi
call fcn.007152ac
add esp, 4
mov dword [esp + 0x200], ebx
mov dword [esp + 0x1e4], ebx
jmp 0x6683ac
lea eax, [esp + 0x94]
push eax
mov ecx, esi
call fcn.00667bfc
lea ecx, [esi + 0x54]
mov edx, ecx
push eax
and edx, 0xfffff000
mov edi, dword [edx]
push ecx
push ecx
mov ecx, edi
call fcn.0055c8cc
push eax
mov ecx, edi
call fcn.0071482c
lea eax, [esp + 0xb8]
push eax
mov ecx, esi
call fcn.00667bfc
lea ecx, [esi + 0x58]
mov edx, ecx
push eax
and edx, 0xfffff000
mov edi, dword [edx]
push ecx
push ecx
mov ecx, edi
call fcn.0055c8cc
push eax
mov ecx, edi
call fcn.0071482c
lea eax, [esp + 0x84]
push eax
mov ecx, esi
call fcn.00667bfc
lea ecx, [esi + 0x5c]
mov edx, ecx
push eax
and edx, 0xfffff000
mov edi, dword [edx]
push ecx
push ecx
mov ecx, edi
call fcn.0055c8cc
push eax
mov ecx, edi
call fcn.0071482c
lea eax, [esp + 0xa4]
push eax
mov ecx, esi
call fcn.00667bfc
lea ecx, [esi + 0x60]
mov edx, ecx
push eax
and edx, 0xfffff000
mov esi, dword [edx]
push ecx
push ecx
mov ecx, esi
call fcn.0055c8cc
push eax
mov ecx, esi
call fcn.0071482c
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [ecx + 0xd4]
push ebx
push 1
push eax
add ecx, 0x15c
call fcn.005b414c
mov ecx, dword [esp + 0x70]
cmp ecx, ebx
pop ebp
je 0x6687c2
mov edx, dword [esp + 0x60]
push edx
call fcn.00713acc
jmp 0x6687cf
mov eax, dword [esp + 0x60]
push eax
call fcn.007152ac
add esp, 4
mov ecx, dword [esp + 0x5c]
cmp ecx, ebx
mov dword [esp + 0x60], ebx
je 0x6687e7
mov edx, dword [esp + 0x50]
push edx
call fcn.00713acc
jmp 0x6687f4
mov eax, dword [esp + 0x50]
push eax
call fcn.007152ac
add esp, 4
mov ecx, dword [esp + 0x4c]
cmp ecx, ebx
mov dword [esp + 0x50], ebx
je 0x66880c
mov edx, dword [esp + 0x40]
push edx
call fcn.00713acc
jmp 0x668819
mov eax, dword [esp + 0x40]
push eax
call fcn.007152ac
add esp, 4
mov ecx, dword [esp + 0x7c]
cmp ecx, ebx
mov dword [esp + 0x40], ebx
je 0x668831
mov edx, dword [esp + 0x70]
push edx
call fcn.00713acc
jmp 0x66883e
mov eax, dword [esp + 0x70]
push eax
call fcn.007152ac
add esp, 4
lea ecx, [esp + 0xa0]
mov dword [esp + 0x70], ebx
call fcn.0068a3dc
lea ecx, [esp + 0x80]
call fcn.0068a3dc
lea ecx, [esp + 0xb4]
call fcn.0068a3dc
lea ecx, [esp + 0x90]
call fcn.0068a3dc
pop edi
pop esi
pop ebx
add esp, 0x200
ret