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

Disassembly:
push ecx
mov eax, dword [esp + 0xc]
push ebx
push ebp
push esi
push edi
mov ebx, ecx
mov ecx, dword [esp + 0x24]
xor edi, edi
mov dword [esp + 0x10], edi
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
call fcn.00411a20
mov ecx, dword [esp + 0x2c]
mov dword [ebx + 0x64], eax
mov eax, dword [esp + 0x28]
xor edx, edx
mov dword [ebx + 0x68], eax
mov dword [ebx + 0x6c], 4
mov dword [ebx + 0x80], ecx
call fcn.004ad990
mov ecx, dword [ebx + 0x64]
mov dword [ebx + 0x7c], eax
push ecx
lea ecx, [ebx + 0x84]
call fcn.004cf930
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
push eax
mov ecx, ebx
mov dword [ebx + 0x78], edx
mov dword [ebx + 0x74], 3
call fcn.00537b80
lea esi, [ebx + 0x14]
mov dword [esp + 0x28], edi
or eax, 0xffffffff
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov dword [esi + 0x14], edi
mov dword [esi + 0x18], edi
mov dword [esi + 0x1c], edi
mov dword [esi + 0x10], edi
mov dword [esi + 0x24], edi
mov dword [esi + 0x20], edi
mov ecx, dword [ebx + 4]
mov edi, dword [ebx]
sub edi, 0x28
mov dword [esp + 0x1c], eax
lea edx, [ecx + 0x7e]
mov dword [esp + 0x2c], ecx
cmp ecx, edx
ja 0x52fda6
mov edx, dword [esp + 0x28]
add edi, 0x28
mov word [ecx], dx
mov ecx, dword [esi]
mov dword [edi], ecx
mov ecx, dword [esi + 4]
mov dword [edi + 4], ecx
mov ecx, dword [esi + 8]
mov dword [edi + 8], ecx
mov ecx, dword [esi + 0xc]
mov dword [edi + 0xc], ecx
mov ecx, dword [esi + 0x10]
mov dword [edi + 0x10], ecx
mov ecx, dword [esi + 0x14]
mov dword [edi + 0x14], ecx
mov ecx, dword [esi + 0x18]
mov dword [edi + 0x18], ecx
mov ecx, dword [esi + 0x1c]
mov dword [edi + 0x1c], ecx
mov ecx, dword [esi + 0x20]
movsx ebp, dx
mov dword [edi + 0x20], ecx
mov ecx, dword [esi + 0x24]
shl ebp, 1
mov dword [edi + 0x24], ecx
mov cx, word [ebp + 0x55b920]
cmp cx, 0xfc18
mov dword [esp + 0x24], ecx
jle 0x52fba2
test ax, ax
jge 0x52fb32
mov ecx, ebx
call fcn.004ec7d0
cmp ax, 0x10e
mov dword [esp + 0x1c], eax
jne 0x52fb2e
mov edx, dword [esp + 0x10]
mov ecx, 1
cmp edx, ecx
jne 0x52fb2a
xor eax, eax
mov dword [esp + 0x1c], eax
jmp 0x52fb2e
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x24]
add ecx, eax
test cx, cx
jl 0x52fba2
cmp cx, 0x1e
jge 0x52fba2
movsx edx, cx
mov cx, word [edx*2 + 0x55b8e4]
movsx edx, cx
cmp word [edx*2 + 0x55b984], ax
jne 0x52fba2
mov edx, dword [ebx + 0x3c]
or eax, 0xffffffff
mov dword [esi], edx
mov edx, dword [ebx + 0x40]
mov dword [esi + 4], edx
mov edx, dword [ebx + 0x44]
mov dword [esi + 8], edx
mov edx, dword [ebx + 0x48]
mov dword [esi + 0xc], edx
mov edx, dword [ebx + 0x4c]
mov dword [esi + 0x10], edx
mov edx, dword [ebx + 0x50]
mov dword [esi + 0x14], edx
mov edx, dword [ebx + 0x54]
mov dword [esi + 0x18], edx
mov edx, dword [ebx + 0x58]
mov dword [esi + 0x1c], edx
mov edx, dword [ebx + 0x5c]
mov dword [esi + 0x20], edx
mov edx, dword [ebx + 0x60]
mov dword [esp + 0x1c], eax
mov dword [esi + 0x24], edx
mov dword [esp + 0x28], ecx
jmp 0x52fd8d
mov cx, word [ebp + 0x55b9ac]
cmp cx, 0xfffe
mov dword [esp + 0x24], ecx
jne 0x52fc2a
test ax, ax
jge 0x52fbe2
mov ecx, ebx
call fcn.004ec7d0
cmp ax, 0x10e
mov dword [esp + 0x1c], eax
jne 0x52fbe2
mov edx, dword [esp + 0x10]
mov ecx, 1
cmp edx, ecx
jne 0x52fbde
xor eax, eax
mov dword [esp + 0x1c], eax
jmp 0x52fbe2
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x28]
mov ecx, 0x55b8d4
cmp word [ecx], 0xffff
jne 0x52fbf7
cmp word [ecx + 2], dx
je 0x52fbfc
add ecx, 4
jmp 0x52fbeb
mov dx, word [ecx + 4]
add ecx, 4
test dx, dx
jl 0x52fc19
cmp dx, ax
je 0x52fc19
mov dx, word [ecx + 4]
add ecx, 4
test dx, dx
jge 0x52fc08
mov cx, word [ecx + 2]
test cx, cx
mov dword [esp + 0x24], ecx
jl 0x52fdb3
test cx, cx
je 0x52fda6
movsx eax, cx
shl eax, 1
mov ebp, dword [esp + 0x2c]
movsx edx, word [eax + 0x55b96c]
mov ecx, edx
neg ecx
lea ecx, [ebp + ecx*2]
mov ebp, edx
neg ebp
shl ebp, 2
sub ebp, edx
mov edx, dword [edi + ebp*8 + 0x28]
mov dword [esp + 0x2c], ecx
mov ecx, edi
lea edi, [edi + ebp*8]
mov dword [esi], edx
mov ebp, dword [esp + 0x2c]
mov edx, dword [edi + 0x2c]
mov dword [esi + 4], edx
mov edx, dword [edi + 0x30]
mov dword [esi + 8], edx
mov edx, dword [edi + 0x34]
mov dword [esi + 0xc], edx
mov edx, dword [edi + 0x38]
mov dword [esi + 0x10], edx
mov edx, dword [edi + 0x3c]
mov dword [esi + 0x14], edx
mov edx, dword [edi + 0x40]
mov dword [esi + 0x18], edx
mov edx, dword [edi + 0x44]
mov dword [esi + 0x1c], edx
mov edx, dword [edi + 0x48]
mov dword [esi + 0x20], edx
mov edx, dword [edi + 0x4c]
mov dword [esi + 0x24], edx
movsx edx, word [eax + 0x55b954]
mov ax, word [edx*2 + 0x55b948]
mov dword [esp + 0x20], eax
add ax, word [ebp]
inc eax
cmp ax, 0x1e
jge 0x52fcdb
movsx eax, ax
neg edx
mov ax, word [eax*2 + 0x55b8e4]
mov dword [esp + 0x28], eax
movsx eax, ax
movsx eax, word [eax*2 + 0x55b984]
cmp eax, edx
je 0x52fced
movsx edx, word [esp + 0x20]
mov ax, word [edx*2 + 0x55b8e4]
mov word [esp + 0x28], ax
movsx eax, word [esp + 0x24]
dec eax
cmp eax, 9
ja case.default.0x52fcfc
jmp dword [eax*4 + 0x52fdd0]
add ecx, 0xffffffd8
push ecx
mov ecx, ebx
call fcn.00538ef0
jmp 0x52fd84
push ecx
push esi
mov ecx, ebx
call fcn.00537c00
jmp case.default.0x52fcfc
mov dword [esi], 4
mov edx, dword [ecx + 4]
mov dword [esi + 4], edx
mov eax, dword [ecx + 8]
mov dword [esi + 8], eax
mov edx, dword [ecx + 0xc]
mov dword [esi + 0xc], edx
mov eax, dword [ecx + 0x10]
mov dword [esi + 0x10], eax
jmp case.default.0x52fcfc
lea edx, [ecx - 0x28]
push 0
push edx
push ecx
push esi
mov ecx, ebx
call fcn.00537c40
jmp case.default.0x52fcfc
push 0
push ecx
add ecx, 0xffffffd8
push ecx
push esi
mov ecx, ebx
call fcn.00537c40
jmp case.default.0x52fcfc
push ecx
add ecx, 0xffffffb0
push ecx
push esi
mov ecx, ebx
call fcn.00537d30
jmp 0x52fd84
lea eax, [ecx - 0x50]
push eax
push ecx
push esi
mov ecx, ebx
call fcn.00537d30
jmp 0x52fd84
push ecx
push esi
mov ecx, ebx
call fcn.00537f00
cmp eax, 1
je 0x52fda6
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ebx + 4]
add ecx, 2
add edx, 0x7e
cmp ecx, edx
mov dword [esp + 0x2c], ecx
jbe 0x52faa0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
pop ecx
ret 0x1c
mov ecx, dword [esp + 0x18]
add ebx, 0x194
push ebx
push 7
call fcn.004c59b0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
pop ecx
ret 0x1c