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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6afbc1
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x76f950]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov esi, ecx
cmp byte [esi + 0x210], 0
je 0x519294
cmp byte [esi + 0x212], 0
mov byte [esi + 0x210], 0
mov byte [esi + 0x23c], 0
jne 0x518fcd
lea ecx, [esi + 0x268]
call fcn.00404600
cmp byte [esi + 0x211], 0
je 0x518fec
mov ecx, esi
call fcn.00513730
mov ecx, dword [esi + 0x208]
test ecx, ecx
je 0x518fec
call fcn.00513730
cmp dword [esi + 0x22c], 1
jne 0x51906c
cmp byte [esi + 0x211], 0
mov ecx, dword [esi + 0x208]
mov edi, dword [esi + 0x78]
mov eax, dword [ecx + 0x78]
mov ebx, dword [esi + 0x7c]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 0x7c]
mov dword [esp + 0x10], eax
movzx eax, byte [esi + 0x44]
mov byte [esp + 0x1c], al
movzx eax, byte [ecx + 0x44]
mov byte [esp + 0x18], al
je 0x51902c
push 0
jmp 0x51902e
push 1
push ecx
mov ecx, esi
call fcn.0050ad90
push dword [esp + 0x10]
mov ecx, esi
push dword [esp + 0x18]
call fcn.0050e770
mov ecx, dword [esi + 0x208]
push ebx
push edi
call fcn.0050e770
push dword [esp + 0x18]
mov ecx, esi
call fcn.0050c4e0
push dword [esp + 0x1c]
mov ecx, dword [esi + 0x208]
call fcn.0050c4e0
mov eax, dword [esi + 0x208]
xor bl, bl
test eax, eax
je 0x519095
cmp byte [eax + 0x18], 0
movzx ebx, bl
mov ecx, 1
cmove ebx, ecx
test eax, eax
je 0x519095
mov dword [eax + 0x200], 0
mov ecx, dword [esi + 0x1f8]
mov dword [esi + 0x208], 0
test ecx, ecx
je 0x5190bc
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov dword [esi + 0x1f8], 0
mov ecx, dword [esi + 0x1fc]
test ecx, ecx
je 0x5190d9
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov dword [esi + 0x1fc], 0
cmp dword [esi + 0xc], 0
je 0x519220
cmp byte [esi + 0x18], 0
jne 0x519220
test bl, bl
je 0x519220
mov eax, dword [0x79725c]
test al, 1
jne 0x519132
or eax, 1
mov dword [0x79725c], eax
mov dword [esp + 0x50], 0
push 0x70237c
mov ecx, 0x797260
call fcn.00401430
push 0x6bd430
call fcn.00633f59
add esp, 4
mov dword [esp + 0x50], 0xffffffff
push 0x4dd7b0
push 0x402680
push 2
push 0xc
lea eax, [esp + 0x3c]
push eax
call fcn.0063432f
mov dword [esp + 0x50], 1
mov eax, dword [esi + 0x204]
push eax
push eax
lea ecx, [esp + 0x28]
call fcn.00402690
mov byte [esp + 0x50], 2
push eax
lea ecx, [esp + 0x30]
call fcn.004dd990
mov byte [esp + 0x50], 1
lea ecx, [esp + 0x20]
call fcn.004dd7c0
mov ecx, dword [esi + 0x204]
test ecx, ecx
je 0x51919d
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov dword [esi + 0x204], 0
mov eax, dword [esi + 0x20c]
push eax
push eax
lea ecx, [esp + 0x28]
call fcn.00402690
mov byte [esp + 0x50], 3
push eax
lea ecx, [esp + 0x3c]
call fcn.004dd990
mov byte [esp + 0x50], 1
lea ecx, [esp + 0x20]
call fcn.004dd7c0
mov ecx, dword [esi + 0x20c]
test ecx, ecx
je 0x5191e8
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov dword [esi + 0x20c], 0
mov ecx, dword [esi + 0xc]
lea eax, [esp + 0x2c]
push eax
push 2
push 2
push 0
push 0x797260
mov edx, ecx
call fcn.00403160
add esp, 0x14
mov dword [esp + 0x50], 0xffffffff
push 0x4dd7b0
push 2
push 0xc
lea eax, [esp + 0x38]
push eax
call fcn.00634247
mov ecx, dword [esi + 0x204]
test ecx, ecx
je 0x51923d
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov dword [esi + 0x204], 0
mov ecx, dword [esi + 0x20c]
test ecx, ecx
je 0x51925a
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov dword [esi + 0x20c], 0
mov ecx, dword [esi + 0x224]
test ecx, ecx
je 0x51926d
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov ecx, dword [esi + 0x228]
test ecx, ecx
je 0x519280
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov dword [esi + 0x224], 0
mov dword [esi + 0x228], 0
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret