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

Disassembly:
push esi
push edi
mov edi, dword [esp + 0xc]
cmp edi, 0x8000b
mov esi, ecx
je 0x52b7e8
cmp edi, 0x8000c
jne 0x52b822
mov eax, dword [esi + 0x5c]
cmp eax, 0xfffffff3
je 0x52b818
cmp eax, 0xffffffd8
je 0x52b818
cmp eax, 0xffffffd9
je 0x52b818
cmp eax, 0xffffffe0
je 0x52b818
cmp edi, 0x8000b
mov ecx, dword [esi + 0x3c]
jne 0x52b811
call fcn.0056e280
jmp 0x52b820
call fcn.0056e420
jmp 0x52b820
mov ecx, dword [esi + 0x3c]
call fcn.0056e4d0
mov edi, eax
cmp edi, 0x8000b
push ebx
jne 0x52ba44
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ecx + 8]
cmp word [edx + 0x2c], 0
je 0x52b907
call fcn.00510980
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx + 8]
xor edx, edx
mov dx, word [eax + 0x2c]
push 0
push esi
push esi
lea ecx, [esp + 0x1c]
push edx
call fcn.005113c0
test eax, eax
je 0x52b8fe
mov eax, dword [esi]
xor ecx, ecx
mov cx, word [0x6f7dbc]
push ecx
mov ecx, esi
call dword [eax + 0x20]
push 1
mov ecx, 0xfffffff3
mov ebx, eax
call fcn.004e9f30
push eax
mov ecx, ebx
call fcn.004f2d10
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + 0x2c]
mov eax, dword [eax + 8]
cmp word [eax + 0x14], 0
je 0x52b8eb
mov cx, word [eax + 0x14]
call fcn.00512aa0
mov edi, eax
test edi, edi
je 0x52b8fe
mov ecx, dword [esi + 0x38]
push 0xfffffffffffffff3
push 1
push ecx
mov cx, word [edi]
mov edx, esi
call fcn.0056d410
cmp eax, 0xffffffff
je 0x52b8fe
push 1
mov ecx, 0xfffffff3
call fcn.004e9f30
push eax
mov ecx, ebx
call fcn.004f2d10
mov edi, dword [edi + 4]
test edi, edi
jne 0x52b8b7
jmp 0x52b8fe
mov edx, dword [esi + 0x38]
mov cx, word [esi + 0x24]
push 0xfffffffffffffff3
push 1
push edx
mov edx, esi
call fcn.0056d410
mov ecx, dword [esp + 0x10]
call fcn.00510970
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ecx + 8]
cmp word [edx + 0x5a], 0
je 0x52b9c7
call fcn.00510980
mov dword [esp + 0x10], eax
test byte [esi + 0xbc], 3
jne 0x52b932
call fcn.004174d0
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx + 8]
xor edx, edx
mov dx, word [eax + 0x5a]
push 0
push esi
push esi
lea ecx, [esp + 0x1c]
push edx
call fcn.005113c0
test eax, eax
je 0x52b9be
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx + 8]
cmp word [eax + 0x5c], 0
je 0x52b9b3
mov cx, word [eax + 0x5c]
call fcn.00512aa0
mov edi, eax
test edi, edi
je 0x52b9be
mov ecx, dword [esp + 0x10]
push 0
push esi
xor eax, eax
mov ax, word [edi]
push 0
push esi
push 1
push eax
call fcn.005126e0
test eax, eax
jne 0x52b9aa
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x38]
mov ecx, dword [0x71f008]
push eax
movsx eax, word [esi + 0x18]
shl eax, 4
mov ecx, dword [eax + ecx]
call fcn.0040ca70
mov edi, dword [edi + 4]
test edi, edi
jne 0x52b972
jmp 0x52b9be
push 0
xor edx, edx
xor ecx, ecx
call fcn.0040ca70
mov ecx, dword [esp + 0x10]
call fcn.00510970
or byte [esi + 0xbc], 0x10
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + 0xa0]
test eax, eax
je 0x52b9e6
mov edx, dword [eax + 0x38]
lea ecx, [esi + 0x48]
call fcn.004ea010
mov ecx, dword [esi + 0x3c]
test ecx, ecx
mov dword [esi + 0x4c], 0x8000b
je 0x52b9fa
mov eax, dword [ecx]
push 1
call dword [eax]
test byte [esi + 0xbc], 2
mov dword [esi + 0x3c], 0
mov edi, 0x80001
je 0x52ba90
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x52ba90
mov ecx, dword [esi + 0x14]
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov ebx, eax
test ebx, ebx
je 0x52ba90
mov ecx, dword [ebx + 0x38]
mov eax, dword [ecx]
call dword [eax + 0x78]
cmp eax, 0x17
jne 0x52ba90
mov ecx, dword [ebx + 0x38]
mov edx, ebx
call fcn.00497260
jmp 0x52ba90
cmp edi, 0x8000d
je 0x52ba74
cmp edi, 0x8000e
je 0x52ba74
cmp edi, 0x80003
je 0x52ba74
cmp edi, 0x80002
je 0x52ba74
cmp edi, 0x80007
je 0x52ba74
cmp edi, 0x80004
jne 0x52ba90
mov ecx, dword [esi + 0x3c]
test ecx, ecx
mov dword [esi + 0x4c], edi
je 0x52ba84
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi + 0x3c], 0
mov edi, 0x80001
test byte [esi + 0xbc], 3
pop ebx
jne 0x52ba9f
call fcn.004174d0
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x52babf
test byte [ecx + 8], 0x20
je 0x52baba
mov ecx, esi
call fcn.0054ca90
mov eax, edi
pop edi
pop esi
ret 4
call fcn.0054a680
mov eax, edi
pop edi
pop esi
ret 4