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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 8
push 0
push 0
dec ecx
jne 0x527510
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
call fcn.004052cc
xor eax, eax
push ebp
push 0x527bbd
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
xor eax, eax
push ebp
push 0x527576
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 4]
call fcn.004057c4
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
mov ecx, 0x10
call fcn.004b42d8
mov dword [ebp - 0x10], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x527585
cmp dword [ebp - 0x10], 0
je 0x527b92
xor eax, eax
push ebp
push 0x527b8b
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x5275cc
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0x10
mov edx, 0x527bd4
mov eax, dword [ebp - 0x10]
call fcn.004b3f70
mov dword [ebp - 0x14], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5275db
cmp dword [ebp - 0x14], 0
je 0x527b12
xor eax, eax
push ebp
push 0x527b0b
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x41adf8]
call fcn.00403ec0
mov dword [ebp - 0x18], eax
xor eax, eax
push ebp
push 0x527aee
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x10]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
call fcn.004b4a78
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.0040646c
inc eax
push eax
mov eax, dword [ebp - 8]
mov ecx, 1
mov edx, dword [0x524620]
call fcn.00406628
add esp, 4
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.00406474
imul eax, eax, 0x36
mov edx, dword [ebp - 8]
mov edx, dword [edx]
lea eax, [edx + eax*8]
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x5276b7
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x24]
mov edx, 0x527bf4
mov eax, dword [ebp - 0x18]
call fcn.004b46fc
mov eax, dword [ebp - 0x24]
movzx ebx, byte [eax]
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x10], bl
mov eax, ebx
add al, 0xbf
sub al, 0x1a
jb 0x5276ad
add al, 0xfa
sub al, 0x1a
jb 0x5276ad
lea eax, [ebp - 0x28]
mov edx, ebx
call fcn.00405018
mov eax, dword [ebp - 0x28]
xor edx, edx
call fcn.0040a5dc
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0x10], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5276c1
lea ecx, [ebp - 0x34]
mov edx, 0x527c04
mov eax, dword [ebp - 0x18]
call fcn.004b46fc
push dword [ebp - 0x34]
push 0x527c14
lea ecx, [ebp - 0x38]
mov edx, 0x527c20
mov eax, dword [ebp - 0x18]
call fcn.004b46fc
push dword [ebp - 0x38]
lea eax, [ebp - 0x30]
mov edx, 3
call fcn.004051e0
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x2c]
call fcn.00409ec8
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
add eax, 0x20
call fcn.00404e84
lea ecx, [ebp - 0x3c]
mov edx, 0x527c30
mov eax, dword [ebp - 0x18]
call fcn.004b46fc
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
add eax, 0x24
call fcn.00404e84
lea ecx, [ebp - 0x40]
mov edx, 0x527c44
mov eax, dword [ebp - 0x18]
call fcn.004b46fc
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
add eax, 0x1c
call fcn.00404e84
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x1c], 0
jne 0x527775
lea ecx, [ebp - 0x44]
mov edx, 0x527c5c
mov eax, dword [ebp - 0x18]
call fcn.004b46fc
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c]
add eax, 0x1c
call fcn.00404e84
mov edx, 0x527c70
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 4], eax
mov edx, 0x527c80
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x14], eax
mov edx, 0x527c94
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x18], eax
mov edx, 0x527ca8
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x28], eax
mov edx, 0x527cb8
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x2c], eax
mov edx, 0x527cc8
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x30], eax
mov edx, 0x527cd4
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x34], eax
mov edx, 0x527ce4
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x48], eax
mov dword [ecx + 0x4c], edx
mov edx, 0x527cf4
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x50], eax
mov edx, 0x527d08
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x54], eax
mov edx, 0x527d18
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x58], eax
mov edx, 0x527d30
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x5c], eax
mov edx, 0x527d48
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x60], eax
mov edx, 0x527d60
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x68], eax
mov edx, 0x527d74
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x6c], eax
mov edx, 0x527d84
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x70], eax
mov edx, 0x527d98
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0x9c], al
mov edx, 0x527dac
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x38], eax
mov edx, 0x527dc0
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x3c], eax
mov edx, 0x527dd4
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x40], eax
mov edx, 0x527de4
mov eax, dword [ebp - 0x18]
call fcn.004b4684
cmp edx, 0
jne 0x52790c
cmp eax, 1
sete al
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0x44], al
mov edx, 0x527df8
mov eax, dword [ebp - 0x18]
call fcn.004b4684
cmp edx, 0
jne 0x52792a
cmp eax, 1
sete al
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0x74], al
mov edx, 0x527e10
mov eax, dword [ebp - 0x18]
call fcn.004b4684
cmp edx, 0
jne 0x527948
cmp eax, 1
sete al
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0x75], al
mov edx, 0x527e24
mov eax, dword [ebp - 0x18]
call fcn.004b4684
cmp edx, 0
jne 0x527966
cmp eax, 1
sete al
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0x9d], al
mov edx, 0x527e38
mov eax, dword [ebp - 0x18]
call fcn.004b4684
cmp edx, 0
jne 0x527987
cmp eax, 1
sete al
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0x9e], al
mov edx, 0x527e4c
mov eax, dword [ebp - 0x18]
call fcn.004b4684
cmp edx, 0
jne 0x5279a8
cmp eax, 1
sete al
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0xa1], al
mov edx, 0x527e60
mov eax, dword [ebp - 0x18]
call fcn.004b4684
cmp edx, 0
jne 0x5279c9
cmp eax, 1
sete al
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0xa2], al
mov edx, 0x527e74
mov eax, dword [ebp - 0x18]
call fcn.004b4684
cmp edx, 0
jne 0x5279ea
cmp eax, 1
sete al
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0xa3], al
mov edx, 0x527e88
mov eax, dword [ebp - 0x18]
call fcn.004b4684
cmp edx, 0
jne 0x527a0b
cmp eax, 1
sete al
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0x9f], al
mov edx, 0x527e9c
mov eax, dword [ebp - 0x18]
call fcn.004b4684
cmp edx, 0
jne 0x527a2c
cmp eax, 1
sete al
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0xa0], al
mov edx, 0x527eb0
mov eax, dword [ebp - 0x18]
call fcn.004b4684
cmp edx, 0
jne 0x527a4d
cmp eax, 1
sete al
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0xa4], al
mov edx, 0x527ec4
mov eax, dword [ebp - 0x18]
call fcn.004b4684
cmp edx, 0
jne 0x527a6e
cmp eax, 1
sete al
mov edx, dword [ebp - 0x1c]
mov byte [edx + 0xa5], al
mov edx, 0x527edc
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x80], eax
mov dword [ecx + 0x84], edx
mov edx, 0x527ef8
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x8c], eax
mov edx, 0x527f1c
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x90], eax
mov edx, 0x527f40
mov eax, dword [ebp - 0x18]
call fcn.004b4684
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x94], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x527af5
mov eax, dword [ebp - 0x18]
call fcn.00403ef0
ret
xor ebx, ebx
jmp 0x527b17
inc ebx
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.00406474
imul eax, eax, 0x36
mov edx, dword [ebp - 8]
mov edx, dword [edx]
lea edx, [edx + eax*8 + 0x78]
mov ecx, ebx
mov eax, dword [ebp - 0x10]
call fcn.00527014
pop ecx
test al, al
jne 0x527b16
xor ebx, ebx
jmp 0x527b45
inc ebx
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.00406474
imul eax, eax, 0x36
mov edx, dword [ebp - 8]
mov edx, dword [edx]
lea edx, [edx + eax*8 + 0xa8]
mov ecx, ebx
mov eax, dword [ebp - 0x10]
call fcn.005272f8
pop ecx
test al, al
jne 0x527b44
mov byte [ebp - 9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x527b92
mov eax, dword [ebp - 0x10]
call fcn.00403ef0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x527bc4
lea eax, [ebp - 0x44]
mov edx, 9
call fcn.00404e54
lea eax, [ebp - 0x20]
call fcn.0040562c
lea eax, [ebp - 4]
call fcn.00404e30
ret