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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x134
push ebx
push esi
push edi
push dword [ebp + 0xc]
mov ebx, ecx
push dword [ebp + 8]
mov eax, ebx
call fcn.00521f0e
cmp byte [ebx + 0x18], 0
je 0x520f7a
lea ecx, [esp + 0x20]
lea edi, [ebx + 0x144]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
mov esi, dword [eax + 4]
mov eax, dword [edi]
add esi, dword [ebx + 0x224]
lea ecx, [esp + 0x18]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
mov eax, dword [eax]
mov ecx, dword [ebx + 0x220]
add eax, ecx
mov dword [esp + 0x20], ecx
mov ecx, dword [ebx + 0x224]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], esi
jmp 0x520f8b
mov eax, 0xffffd8f1
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], eax
and dword [esp + 0x14], 0
mov dword [esp + 0x28], eax
lea edi, [esp + 0x30]
lea esi, [esp + 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebx + 0x320]
movsd dword es:[edi], dword [esi]
mov byte [esp + 0x12], 0
mov dword [esp + 0x20], eax
xor cl, cl
cmp dword [esp + 0x14], 0x14
jge 0x52102f
cmp dword [ebx + 0x2a74], 0
mov ecx, dword [ebx + 0x2be0]
setne byte [esp + 0x13]
test ecx, ecx
je 0x521014
cmp dword [ebx + 0x2be4], 0
je 0x521014
mov eax, ebx
call fcn.00521ef7
test al, al
jne 0x521014
cmp ecx, 1
je 0x521014
cmp ecx, 3
je 0x521014
mov eax, dword [ebx + 8]
call fcn.004a55be
test al, al
je 0x521014
mov eax, dword [ebx + 8]
call fcn.004a55cf
test al, al
jne 0x521014
cmp byte [esp + 0x12], al
jne 0x521014
cmp byte [esp + 0x13], al
je 0x5210c9
mov esi, dword [esp + 0x20]
mov edx, dword [esi]
mov eax, 0xffffd8f1
push 0
mov ecx, eax
push eax
push ecx
mov ecx, esi
call dword [edx + 0x40]
jmp 0x521126
cmp dword [esp + 0x14], 0x28
jge 0x521077
cmp dword [ebx + 0x2be4], 0
je 0x521058
mov eax, ebx
call fcn.00521ef7
test al, al
jne 0x521058
lea edx, [ebp + 8]
lea eax, [esp + 0x30]
call fcn.004b0505
mov cl, al
mov eax, dword [ebx + 0x2be0]
test eax, eax
je 0x521014
cmp eax, 1
je 0x521014
cmp eax, 3
je 0x521014
cmp byte [esp + 0x12], 0
jne 0x521014
test cl, cl
jmp 0x52100e
cmp dword [esp + 0x14], 0x3c
jge 0x521014
mov ecx, dword [ebx + 0x2be0]
test ecx, ecx
je 0x521014
cmp dword [ebx + 0x2be4], 0
je 0x521014
mov eax, ebx
call fcn.00521ef7
test al, al
jne 0x521014
cmp ecx, 1
je 0x521014
cmp ecx, 3
je 0x521014
cmp byte [esp + 0x12], al
jne 0x521014
cmp dword [ebx + 0x2a74], 1
jne 0x521014
push dword [ebp + 0x10]
mov esi, dword [esp + 0x24]
push dword [ebp + 0xc]
mov eax, dword [esi]
push dword [ebp + 8]
mov ecx, esi
call dword [eax + 0x40]
mov eax, dword [esi]
lea ecx, [esp + 0x40]
push ecx
mov ecx, esi
call dword [eax + 0x3c]
lea edx, [ebp + 8]
call fcn.004b0505
test al, al
je 0x521126
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x70]
test al, al
jne 0x521126
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x20]
test al, al
jne 0x521121
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x14]
test al, al
jne 0x521121
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x64]
test al, al
jne 0x521126
mov byte [esp + 0x12], 1
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x60]
test al, al
je 0x5211f2
push 0xf0
lea eax, [esp + 0x54]
push 0
push eax
call fcn.00631280
add esp, 0xc
and dword [esp + 0x18], 0
lea esi, [ebx + 0x2700]
mov eax, dword [esi + 0xf0]
cmp eax, 0xffffffff
jne 0x521163
mov eax, dword [esp + 0x18]
cmp dword [ebx + eax*4 + 0x2700], 0
je 0x5211e0
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x18], ecx
jne 0x521181
mov dword [esp + eax*4 + 0x50], 1
jmp 0x521190
lea eax, [esp + eax*4 + 0x50]
cmp dword [eax], 1
je 0x521190
mov dword [eax], 2
mov ecx, dword [esi]
test ecx, ecx
je 0x5211e0
mov eax, dword [esp + 0x18]
mov edi, dword [esp + eax*4 + 0x50]
cmp edi, 1
jne 0x5211ac
mov eax, dword [ecx]
call dword [eax + 0x54]
test al, al
je 0x5211b7
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x60]
test al, al
je 0x5211be
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x34]
cmp edi, 2
jne 0x5211e0
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x54]
test al, al
je 0x5211e0
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x60]
test al, al
jne 0x5211e0
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x38]
inc dword [esp + 0x18]
add esi, 4
cmp dword [esp + 0x18], 0x3c
jb 0x521154
inc dword [esp + 0x14]
add dword [esp + 0x20], 0x78
push 0x3c
pop edi
cmp dword [esp + 0x14], edi
jl 0x520faf
cmp byte [esp + 0x12], 0
jne 0x521226
lea esi, [ebx + 0x2700]
mov ecx, dword [esi]
test ecx, ecx
je 0x521220
mov eax, dword [ecx]
call dword [eax + 0x38]
add esi, 4
dec edi
jne 0x521215
xor edi, edi
lea esi, [ebx + 0x320]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x58]
test al, al
jne 0x5213ad
inc edi
add esi, 0x78
cmp edi, 0x3c
jb 0x52122e
mov esi, dword [ebx + 0x2be4]
test esi, esi
je 0x52126f
mov eax, ebx
call fcn.00521ef7
test al, al
jne 0x52126f
lea edx, [ebp + 8]
lea eax, [esp + 0x30]
call fcn.004b0505
test al, al
jne 0x5213ad
cmp dword [ebx + 0x2be0], 0
je 0x5213a2
mov eax, ebx
call fcn.00521bad
test al, al
jne 0x5212ef
test esi, esi
je 0x5212ef
mov eax, ebx
call fcn.00521ef7
test al, al
jne 0x5212ef
cmp dword [ebx + 0x2a74], 0
jne 0x5212ef
mov eax, dword [ebx + 8]
call fcn.004a55be
test al, al
je 0x5212ef
mov eax, dword [ebx + 8]
call fcn.004a55cf
test al, al
jne 0x5212ef
xor edi, edi
lea esi, [ebx + 0x320]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
test al, al
je 0x5212e6
mov eax, dword [esi]
lea ecx, [esp + 0x40]
push ecx
mov ecx, esi
call dword [eax + 0x3c]
lea edx, [ebp + 8]
call fcn.004b0505
test al, al
jne 0x5213ad
inc edi
add esi, 0x78
cmp edi, 0x14
jl 0x5212bf
cmp dword [ebx + 0x2be0], 0
je 0x5213a2
mov eax, ebx
call fcn.00521bad
test al, al
jne 0x521359
cmp dword [ebx + 0x2be4], 0
je 0x521359
mov eax, ebx
call fcn.00521ef7
test al, al
jne 0x521359
cmp dword [ebx + 0x2a74], 1
jne 0x521359
push 0x28
pop edi
lea esi, [ebx + 0x15e0]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
test al, al
je 0x521350
mov eax, dword [esi]
lea ecx, [esp + 0x40]
push ecx
mov ecx, esi
call dword [eax + 0x3c]
lea edx, [ebp + 8]
call fcn.004b0505
test al, al
jne 0x5213ad
inc edi
add esi, 0x78
cmp edi, 0x3c
jl 0x52132d
cmp dword [ebx + 0x2be0], 0
je 0x5213a2
mov eax, ebx
call fcn.00521bad
test al, al
jne 0x5213a2
push 0x14
pop edi
lea esi, [ebx + 0xc80]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
test al, al
je 0x521399
mov eax, dword [esi]
lea ecx, [esp + 0x40]
push ecx
mov ecx, esi
call dword [eax + 0x3c]
lea edx, [ebp + 8]
call fcn.004b0505
test al, al
jne 0x5213ad
inc edi
add esi, 0x78
cmp edi, 0x28
jl 0x521376
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov al, 1
jmp 0x5213a4