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

Disassembly:
push 0xffffffffffffffff
push 0x6aae64
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x214
mov eax, dword [0x8b0a50]
push ebx
push ebp
push esi
xor esi, esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], esi
mov ebp, dword [esp + 0x240]
mov eax, dword [esp + 0x244]
cmp ebp, esi
mov dword [esp + 0x228], 1
je 0x512fc4
cmp byte [ebp], 0
je 0x512fc4
cmp eax, esi
je 0x512f35
cmp byte [eax], 0
jne 0x512fc4
mov ecx, 0x8a2010
test ecx, ecx
mov eax, ecx
jne 0x512f45
mov eax, 0x8c55f4
push eax
lea ecx, [esp + 0x18]
call fcn.0041a1f0
lea edx, [esp + 0x14]
push ebp
lea eax, [esp + 0x10]
push edx
push eax
mov byte [esp + 0x234], 2
call fcn.005719c0
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x22c], 3
call fcn.00571160
mov ecx, dword [esp + 0xc]
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x512fa0
dec ecx
cmp ecx, esi
mov dword [eax], ecx
jne 0x512fa0
mov ebx, dword [0x6c74ac]
push eax
call ebx
add esp, 4
jmp 0x512fa6
mov ebx, dword [0x6c74ac]
mov edx, dword [esp + 0x14]
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x512fdd
dec ecx
cmp ecx, esi
mov dword [eax], ecx
jne 0x512fdd
push eax
call ebx
add esp, 4
jmp 0x512fdd
cmp eax, esi
je 0x512fd7
cmp byte [eax], 0
je 0x512fd7
push eax
lea ecx, [esp + 0x14]
call fcn.00571200
mov ebx, dword [0x6c74ac]
mov eax, dword [0x8b0a50]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x238]
mov byte [esp + 0x228], 4
cmp eax, esi
je 0x513008
cmp byte [eax], 0
je 0x513008
push eax
lea ecx, [esp + 0x24]
call fcn.00571200
mov ecx, dword [0x8b0a50]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x23c]
mov byte [esp + 0x228], 5
cmp eax, esi
je 0x513034
cmp byte [eax], 0
je 0x513034
push eax
lea ecx, [esp + 0x1c]
call fcn.00571200
mov edx, str.filedlg
test edx, edx
mov eax, edx
jne 0x513044
mov eax, 0x8c55f4
mov ecx, dword [0x6e14e0]
push ecx
push esi
push eax
lea ecx, [esp + 0x30]
call fcn.00570720
mov eax, dword [esp + 0x234]
mov byte [esp + 0x228], 6
cmp eax, esi
jne 0x51306e
mov eax, 0x8c55f4
push eax
lea ecx, [esp + 0x18]
call fcn.0041a1f0
mov edx, dword [esp + 0x250]
mov eax, dword [esp + 0x254]
lea ecx, [esp + 0x24]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x248]
push ecx
lea edx, [esp + 0x40]
push 0x8c9af0
push edx
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x34]
push edx
mov edx, dword [esp + 0x264]
lea ecx, [esp + 0x2c]
push eax
push ecx
push edx
lea ecx, [esp + 0x78]
mov byte [esp + 0x24c], 7
call fcn.0054c1c0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x5130ed
dec ecx
cmp ecx, esi
mov dword [eax], ecx
jne 0x5130ed
push eax
call ebx
add esp, 4
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x228], 9
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x513111
dec ecx
cmp ecx, esi
mov dword [eax], ecx
jne 0x513111
push eax
call ebx
add esp, 4
cmp ebp, esi
je 0x513223
push edi
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
pop edi
cmp ecx, esi
je 0x513223
push esi
push 0x7c
lea ecx, [esp + 0x18]
call fcn.00572930
cmp eax, 0xffffffff
je 0x513223
push esi
lea ecx, [esp + 0x48]
call fcn.00572ec0
push esi
lea ecx, [esp + 0x30]
mov byte [esp + 0x22c], 0xb
call fcn.00572ec0
lea edx, [esp + 0x2c]
lea eax, [esp + 0x44]
push edx
lea ecx, [esp + 0x14]
push eax
push ecx
mov byte [esp + 0x234], 0xc
call fcn.00576df0
mov eax, dword [esp + 0x3c]
add esp, 0xc
test eax, eax
jbe 0x513201
mov edx, dword [0x6e14e0]
lea ecx, [esp + 0xc]
push edx
push 0
push ebp
call fcn.00570720
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0xc]
push edx
mov byte [esp + 0x22c], 0xd
lea ecx, [eax + esi*4]
call fcn.00572960
cmp eax, 0xffffffff
mov eax, dword [esp + 0xc]
setne bl
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
mov byte [esp + 0x228], 0xc
je 0x5131e1
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x5131e1
push eax
call dword [0x6c74ac]
add esp, 4
test bl, bl
jne 0x5131f0
mov eax, dword [esp + 0x30]
inc esi
cmp esi, eax
jb 0x513187
jmp 0x5131fb
test esi, esi
jle 0x5131fb
mov dword [esp + 0x208], esi
mov ebx, dword [0x6c74ac]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x228], 0xb
call fcn.005730c0
lea ecx, [esp + 0x44]
mov byte [esp + 0x228], 9
call fcn.005730c0
mov ecx, dword [0x8b0a50]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x54]
mov byte [esp + 0x228], 0xe
call fcn.0054c650
cmp eax, 0x13ec
jne 0x513280
lea edx, [esp + 0xc]
lea ecx, [esp + 0x54]
push edx
call fcn.00513770
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x22c], 0xf
call fcn.00571160
mov eax, dword [esp + 0xc]
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x513280
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x513280
push eax
call ebx
add esp, 4
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x230]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x51329c
mov ecx, dword [0x8b0a50]
mov dword [esi], ecx
jmp 0x5132ae
mov dword [esi], eax
mov ecx, dword [eax - 0xc]
cmp ecx, 0xffffffff
je 0x5132ae
inc ecx
mov dword [eax - 0xc], ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], 1
mov ecx, dword [eax - 0xc]
add eax, 0xfffffff4
cmp ecx, 0xffffffff
je 0x5132ce
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x5132ce
push eax
call ebx
add esp, 4
lea ecx, [esp + 0x20c]
mov byte [esp + 0x228], 0x10
call fcn.005730c0
mov edx, dword [esp + 0x204]
mov byte [esp + 0x228], 5
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x513309
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x513309
push eax
call ebx
add esp, 4
mov eax, dword [esp + 0x200]
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x513327
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x513327
push eax
call ebx
add esp, 4
mov ecx, dword [esp + 0x1fc]
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x513346
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x513346
push eax
call ebx
add esp, 4
mov edx, dword [esp + 0x1f8]
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x513365
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x513365
push eax
call ebx
add esp, 4
mov eax, dword [esp + 0x1f4]
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x513383
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x513383
push eax
call ebx
add esp, 4
lea ecx, [esp + 0x54]
call fcn.004cc9f0
mov ecx, dword [esp + 0x18]
lea eax, [ecx - 0xc]
mov ecx, dword [ecx - 0xc]
cmp ecx, 0xffffffff
je 0x5133a8
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x5133a8
push eax
call ebx
add esp, 4
mov edx, dword [esp + 0x20]
mov ecx, dword [edx - 0xc]
lea eax, [edx - 0xc]
cmp ecx, 0xffffffff
je 0x5133c4
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x5133c4
push eax
call ebx
add esp, 4
mov eax, dword [esp + 0x10]
add eax, 0xfffffff4
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x5133df
dec ecx
test ecx, ecx
mov dword [eax], ecx
jne 0x5133df
push eax
call ebx
add esp, 4
mov ecx, dword [esp + 0x220]
mov eax, esi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x220
ret