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

Disassembly:
sub esp, 0x60
push ebx
mov eax, 0x1000
push ebp
push esi
mov esi, dword [esp + 0x70]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov edx, dword [esi]
mov ebp, ecx
lea eax, [esp + 0x10]
push edi
push eax
lea ecx, [esp + 0x60]
push 8
push ecx
lea eax, [esp + 0x80]
push edx
push eax
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
mov edi, 1
test edx, edx
setge cl
xor ecx, edi
je 0x502527
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 4
mov eax, dword [esp + 0x60]
xor ebx, ebx
test eax, eax
jbe 0x502609
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x28]
push edi
push eax
lea edx, [esp + 0x80]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, edi
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push 2
push eax
lea edx, [esp + 0x54]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, edi
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x24]
push 2
push eax
lea edx, [esp + 0x24]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, edi
jne 0x503059
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x28]
lea ecx, [esp + 0x64]
push edx
mov edx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push ecx
push eax
mov ecx, ebp
mov word [0x7b0820], ax
mov dword [0x6d0b20], edi
call fcn.00503730
mov ecx, dword [esp + 0x28]
push esi
mov edx, dword [ecx]
call dword [edx + 8]
test eax, eax
je 0x503059
mov eax, dword [esp + 0x60]
inc ebx
cmp ebx, eax
jb 0x502535
mov edx, dword [esi]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x60]
push 8
push ecx
lea eax, [esp + 0x80]
push edx
push eax
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, edi
je 0x502641
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 4
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], 0
test eax, eax
jbe 0x50278b
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x28]
push edi
push eax
lea edx, [esp + 0x54]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, edi
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push 2
push eax
lea edx, [esp + 0x58]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, edi
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x24]
push 2
push eax
lea edx, [esp + 0x5c]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, edi
jne 0x503059
mov dx, word [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov word [0x7b0820], dx
mov dword [0x6d0b20], edi
mov ecx, dword [ebp + 0x14]
push eax
mov byte [esp + 0x78], al
mov edx, dword [ecx]
call dword [edx + 0x134]
test eax, eax
je 0x503059
mov eax, dword [0x7b0818]
test eax, eax
je 0x503059
push 0x11e
lea ecx, [ebp + 0x3e]
call fcn.0059c1a0
test eax, eax
je 0x503059
mov ecx, eax
call fcn.005031c2
mov edi, eax
test edi, edi
je 0x503059
mov al, byte [esp + 0x74]
push 1
lea ecx, [esp + 0x68]
push ebx
push ecx
mov ecx, edi
mov byte [edi + 0xf6], al
call fcn.004f1724
mov eax, dword [ebp + 0x26]
push esi
inc eax
mov ecx, edi
mov dword [ebp + 0x26], eax
mov edx, dword [edi]
call dword [edx + 8]
test eax, eax
je 0x503059
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x60]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jae 0x50278b
mov edi, 1
jmp 0x502655
mov edx, dword [esi]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x60]
push 8
push ecx
lea eax, [esp + 0x80]
push edx
push eax
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, 1
je 0x5027c4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 4
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], 0
test eax, eax
jbe 0x50290e
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x28]
push 1
push eax
lea edx, [esp + 0x5c]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, 1
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push 2
push eax
lea edx, [esp + 0x58]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, 1
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x24]
push 2
push eax
lea edx, [esp + 0x54]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, 1
jne 0x503059
mov dx, word [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov word [0x7b0820], dx
mov dword [0x6d0b20], 1
mov ecx, dword [ebp + 0x14]
push eax
mov byte [esp + 0x78], al
mov edx, dword [ecx]
call dword [edx + 0x15c]
test eax, eax
je 0x503059
mov eax, dword [0x7b0818]
test eax, eax
je 0x503059
push 0x123
lea ecx, [ebp + 0x3e]
call fcn.0059c1a0
test eax, eax
je 0x503059
mov ecx, eax
call fcn.005032a2
mov edi, eax
test edi, edi
je 0x503059
mov al, byte [esp + 0x74]
lea ecx, [esp + 0x64]
push ebx
push ecx
mov ecx, edi
mov byte [edi + 0xf6], al
call fcn.004f3f3b
mov eax, dword [ebp + 0x2a]
push esi
inc eax
mov ecx, edi
mov dword [ebp + 0x2a], eax
mov edx, dword [edi]
call dword [edx + 8]
test eax, eax
je 0x503059
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x60]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x5027d8
mov edx, dword [esi]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x60]
push 8
push ecx
lea eax, [esp + 0x80]
push edx
push eax
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, 1
je 0x502947
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 4
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], 0
test eax, eax
jbe 0x502a91
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x28]
push 1
push eax
lea edx, [esp + 0x5c]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, 1
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push 2
push eax
lea edx, [esp + 0x58]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, 1
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x24]
push 2
push eax
lea edx, [esp + 0x54]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, 1
jne 0x503059
mov dx, word [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov word [0x7b0820], dx
mov dword [0x6d0b20], 1
mov ecx, dword [ebp + 0x14]
push eax
mov byte [esp + 0x78], al
mov edx, dword [ecx]
call dword [edx + 0x184]
test eax, eax
je 0x503059
mov eax, dword [0x7b0818]
test eax, eax
je 0x503059
push 0x189
lea ecx, [ebp + 0x3e]
call fcn.0059c1a0
test eax, eax
je 0x503059
mov ecx, eax
call fcn.00503074
mov edi, eax
test edi, edi
je 0x503059
mov al, byte [esp + 0x74]
lea ecx, [esp + 0x64]
push ebx
push ecx
mov ecx, edi
mov byte [edi + 0x12c], al
call fcn.004e7bcd
mov eax, dword [ebp + 0x22]
push esi
inc eax
mov ecx, edi
mov dword [ebp + 0x22], eax
mov edx, dword [edi]
call dword [edx + 8]
test eax, eax
je 0x503059
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x60]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x50295b
mov edx, dword [esi]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x60]
push 8
push ecx
lea eax, [esp + 0x80]
push edx
push eax
call fcn.005f789d
mov edx, dword [eax]
xor edi, edi
add esp, 0x14
xor ecx, ecx
cmp edx, edi
mov ebx, 1
setge cl
xor ecx, ebx
je 0x502ad0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 4
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], edi
cmp eax, edi
jbe 0x502bd0
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x28]
push ebx
push eax
lea edx, [esp + 0x5c]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
cmp edx, edi
setge cl
xor ecx, ebx
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push 2
push eax
lea edx, [esp + 0x58]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
cmp edx, edi
setge cl
xor ecx, ebx
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x24]
push 2
push eax
lea edx, [esp + 0x54]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
cmp edx, edi
setge cl
xor ecx, ebx
jne 0x503059
mov dx, word [esp + 0x1c]
lea eax, [esp + 0x2c]
mov word [0x7b0820], dx
push edi
lea ecx, [esp + 0x78]
push eax
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
push ecx
mov ecx, ebp
mov dword [0x6d0b20], ebx
mov word [esp + 0x8c], di
call fcn.00503ad4
test eax, eax
je 0x503059
mov ecx, dword [esp + 0x2c]
push esi
mov edx, dword [ecx]
call dword [edx + 8]
test eax, eax
je 0x503059
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x60]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x502ae0
mov edx, dword [esi]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x60]
push 8
push ecx
lea eax, [esp + 0x80]
push edx
push eax
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
cmp edx, edi
setge cl
xor ecx, ebx
je 0x502c08
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 4
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], edi
cmp eax, edi
jbe 0x502d38
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x28]
push ebx
push eax
lea edx, [esp + 0x5c]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
cmp edx, edi
setge cl
xor ecx, ebx
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x34]
push ebx
push eax
lea edx, [esp + 0x58]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
cmp edx, edi
setge cl
xor ecx, ebx
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push 2
push eax
lea edx, [esp + 0x54]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
cmp edx, edi
setge cl
xor ecx, ebx
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x24]
push 2
push eax
lea edx, [esp + 0x60]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
cmp edx, edi
setge cl
xor ecx, ebx
jne 0x503059
mov dx, word [esp + 0x1c]
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x34]
mov word [0x7b0820], dx
mov edx, dword [esp + 0x20]
push eax
push ecx
lea eax, [esp + 0x7c]
push edx
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x70]
push eax
push ecx
push edx
mov ecx, ebp
mov dword [0x6d0b20], ebx
mov word [esp + 0x8c], di
call fcn.00503d83
test eax, eax
je 0x503059
mov ecx, dword [esp + 0x34]
push esi
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x503059
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x60]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jb 0x502c18
mov eax, dword [esi]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x60]
push 8
push edx
lea ecx, [esp + 0x80]
push eax
push ecx
call fcn.005f789d
mov ecx, dword [eax]
add esp, 0x14
xor edx, edx
cmp ecx, edi
setge dl
xor edx, ebx
je 0x502d70
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 4
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], edi
cmp eax, edi
jbe 0x502ec4
mov edx, dword [esi]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x16]
push ebx
push ecx
lea eax, [esp + 0x80]
push edx
push eax
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
cmp edx, edi
setge cl
xor ecx, ebx
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x40]
push 4
push eax
lea edx, [esp + 0x60]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
cmp edx, edi
setge cl
xor ecx, ebx
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x3c]
push 4
push eax
lea edx, [esp + 0x5c]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
cmp edx, edi
setge cl
xor ecx, ebx
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push 2
push eax
lea edx, [esp + 0x58]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
cmp edx, edi
setge cl
xor ecx, ebx
jne 0x503059
mov eax, dword [0x7b0818]
mov dx, word [esp + 0x1c]
mov dword [0x6d0b20], ebx
mov bl, byte [esp + 0x12]
cmp eax, edi
mov word [0x7b0820], dx
je 0x503059
push 0x40
lea ecx, [ebp + 0x3e]
call fcn.0059c1a0
cmp eax, edi
je 0x503059
mov ecx, eax
call fcn.00503382
mov edi, eax
test edi, edi
je 0x503059
lea eax, [esp + 0x38]
lea ecx, [esp + 0x3c]
push eax
push ecx
mov ecx, edi
mov byte [edi + 0x37], bl
call fcn.004fc6d9
mov eax, dword [ebp + 0x32]
push esi
inc eax
mov ecx, edi
mov dword [ebp + 0x32], eax
mov edx, dword [edi]
call dword [edx + 8]
test eax, eax
je 0x503059
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x60]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jae 0x502ec4
xor edi, edi
mov ebx, 1
jmp 0x502d80
mov edx, dword [esi]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x60]
push 8
push ecx
lea eax, [esp + 0x80]
push edx
push eax
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, 1
je 0x502efd
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 4
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], 0
test eax, eax
jbe 0x503065
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x17]
push 1
push eax
lea edx, [esp + 0x60]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, 1
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x48]
push 2
push eax
lea edx, [esp + 0x5c]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, 1
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x44]
push 2
push eax
lea edx, [esp + 0x58]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, 1
jne 0x503059
mov ecx, dword [esi]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push 2
push eax
lea edx, [esp + 0x64]
push ecx
push edx
call fcn.005f789d
mov edx, dword [eax]
add esp, 0x14
xor ecx, ecx
test edx, edx
setge cl
xor ecx, 1
jne 0x503059
mov eax, dword [esp + 0x44]
mov dx, word [esp + 0x1c]
mov cl, byte [esp + 0x13]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x48], eax
mov eax, dword [0x7b0818]
test eax, eax
mov word [0x7b0820], dx
mov dword [0x6d0b20], 1
mov byte [esp + 0x74], cl
je 0x503059
push 0x45
lea ecx, [ebp + 0x3e]
call fcn.0059c1a0
test eax, eax
je 0x503059
mov ecx, eax
call fcn.005033e0
mov edi, eax
test edi, edi
je 0x503059
mov eax, dword [esp + 0x48]
mov dl, byte [esp + 0x74]
push ebx
lea ecx, [esp + 0x68]
push eax
push ecx
mov ecx, edi
mov byte [edi + 0x44], dl
call fcn.004fdb7e
mov eax, dword [ebp + 0x3a]
push esi
inc eax
mov ecx, edi
mov dword [ebp + 0x3a], eax
mov edx, dword [edi]
call dword [edx + 8]
test eax, eax
je 0x503059
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x60]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jae 0x503065
jmp 0x502f11
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x60
ret 4