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

Disassembly:
push ebx
push esi
push edi
add esp, 0xffffffe8
mov ebx, eax
call fcn.00611a68
cmp dword [eax + 0x380], 0
je 0x66813a
mov eax, dword [0x690a28]
movzx eax, byte [eax + 0x16]
mov byte [ebx + 0xb], al
call fcn.006424b8
mov eax, dword [eax + 0x288]
mov dword [ebx + 4], eax
call fcn.00611a68
mov eax, dword [eax + 0x380]
mov edx, dword [eax]
call dword [edx + 0x104]
mov byte [ebx + 8], al
call fcn.00611a68
movzx eax, byte [eax + 0x360]
mov byte [ebx + 9], al
call fcn.00611a68
movzx eax, byte [eax + 0x258]
mov byte [ebx + 0xa], al
call fcn.00611a68
call fcn.005abcf0
test al, al
je 0x667dff
call fcn.00611a68
mov eax, dword [eax + 0x380]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x110]
mov eax, dword [0x690a28]
mov byte [eax + 0x16], 0
call fcn.00611a68
mov dl, 1
mov ecx, dword [eax]
call dword [ecx + 0x110]
call fcn.00611a68
xor ecx, ecx
mov edx, 2
call fcn.005abcc0
call fcn.00611a68
xor edx, edx
call fcn.0044f798
call fcn.006424b8
mov edx, dword [ebx + 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x6c]
mov esi, dword [ebx + 0x14]
mov eax, dword [esi + 0x48]
sub eax, 2
push eax
mov eax, dword [esi + 0x4c]
sub eax, 2
push eax
call fcn.006424b8
mov ecx, 1
mov edx, 1
mov esi, dword [eax]
call dword [esi + 0x88]
mov dl, 1
mov eax, dword [ebx + 0x14]
call fcn.00460104
mov edx, dword [0x690a28]
movzx edx, byte [edx + 0x1f]
mov eax, dword [ebx + 0x10]
call fcn.00460104
mov dl, 1
mov eax, dword [ebx + 0xc]
call fcn.00460104
call fcn.00645824
test al, al
je 0x667f53
call fcn.006457e0
call fcn.0066d07c
test al, al
je 0x667f00
call fcn.006457e0
cmp dword [eax + 0x27c], 0
je 0x667f00
call fcn.006457e0
mov eax, dword [eax + 0x27c]
call fcn.004506c8
push eax
call fcn.006457e0
mov eax, dword [eax + 0x27c]
call fcn.004506a8
lea ecx, [esp + 4]
pop edx
call fcn.0041d378
mov eax, dword [esp]
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 4]
mov dword [ebx + 0x30], eax
call fcn.006457e0
mov eax, dword [eax + 0x27c]
call fcn.004549d4
call fcn.006457e0
mov dl, 1
call fcn.0066d10c
call fcn.006457e0
mov eax, dword [eax + 0x4c]
push eax
lea eax, [esp + 0xc]
push eax
call fcn.006457e0
mov eax, dword [eax + 0x48]
push eax
call fcn.006457e0
mov eax, dword [eax + 0x44]
push eax
call fcn.006457e0
mov eax, dword [eax + 0x40]
pop edx
pop ecx
call fcn.0041d3a0
lea esi, [esp + 8]
lea edi, [ebx + 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.006457e0
mov edx, dword [ebx + 0x18]
call fcn.00647b74
call fcn.00611a68
call fcn.00612300
mov byte [ebx + 0x60], al
call fcn.00611a68
xor edx, edx
call fcn.006121e0
mov eax, dword [0x69212c]
cmp dword [eax], 0
je 0x6680a4
mov eax, dword [ebx + 0x5c]
call fcn.00668c0c
mov eax, dword [0x69212c]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
mov dword [ebx + 0x64], eax
lea edx, [esp + 8]
mov eax, dword [0x69212c]
mov eax, dword [eax]
call fcn.0045faf4
lea esi, [esp + 8]
lea edi, [ebx + 0x68]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [0x69212c]
mov eax, dword [eax]
mov edx, dword [eax + 0x2a0]
mov dword [ebx + 0x88], edx
mov edx, dword [eax + 0x2a4]
mov dword [ebx + 0x8c], edx
mov eax, dword [0x69212c]
mov eax, dword [eax]
mov edx, dword [ebx + 0x3c]
mov ecx, dword [eax]
call dword [ecx + 0x6c]
mov eax, dword [0x69212c]
mov eax, dword [eax]
xor edx, edx
call fcn.0045f558
mov eax, dword [0x69212c]
mov eax, dword [eax]
movzx eax, byte [eax + 0x2b0]
mov byte [ebx + 0x80], al
mov eax, dword [0x69212c]
mov eax, dword [eax]
mov dl, 1
mov ecx, dword [eax]
call dword [ecx + 0xec]
mov eax, dword [0x69212c]
mov eax, dword [eax]
mov dword [eax + 0x2a4], ebx
mov dword [eax + 0x2a0], fcn.006684e8
call fcn.00610988
test al, al
je 0x66809b
call fcn.0061094c
call fcn.0066d07c
test al, al
je 0x66808f
call fcn.0061094c
cmp dword [eax + 0x27c], 0
je 0x66808f
call fcn.0061094c
mov eax, dword [eax + 0x27c]
call fcn.004506c8
push eax
call fcn.0061094c
mov eax, dword [eax + 0x27c]
call fcn.004506a8
lea ecx, [esp + 4]
pop edx
call fcn.0041d378
mov eax, dword [esp]
mov dword [ebx + 0x78], eax
mov eax, dword [esp + 4]
mov dword [ebx + 0x7c], eax
call fcn.0061094c
mov eax, dword [eax + 0x27c]
call fcn.004549d4
call fcn.0061094c
mov dl, 1
call fcn.0066d10c
xor edx, edx
mov eax, ebx
call fcn.006684e8
call fcn.0060aa14
test al, al
je 0x668133
call fcn.0060a9d0
mov esi, eax
mov eax, esi
call fcn.0066d07c
test al, al
je 0x668105
cmp dword [esi + 0x27c], 0
je 0x668105
mov eax, dword [esi + 0x27c]
call fcn.004506c8
push eax
mov eax, dword [esi + 0x27c]
call fcn.004506a8
lea ecx, [esp + 4]
pop edx
call fcn.0041d378
mov eax, dword [esp]
mov dword [ebx + 0x54], eax
mov eax, dword [esp + 4]
mov dword [ebx + 0x58], eax
mov eax, dword [esi + 0x27c]
call fcn.004549d4
call fcn.0060a9d0
mov dl, 1
call fcn.0066d10c
lea edx, [esp + 8]
mov eax, esi
call fcn.0045faf4
push esi
lea esi, [esp + 0xc]
lea edi, [ebx + 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov edx, dword [ebx + 0x38]
mov eax, esi
call fcn.0060c994
mov eax, ebx
call fcn.00667af8
add esp, 0x18
pop edi
pop esi
pop ebx
ret