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

Disassembly:
push 0xffffffffffffffff
push 0x5dc498
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x50
push ebx
push ebp
push esi
push edi
mov esi, ecx
lea eax, [esp + 0x70]
xor edi, edi
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x6c], edi
call fcn.00558070
lea ecx, [esp + 0x2c]
mov byte [esp + 0x68], 1
call fcn.005589e0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x68], 2
call fcn.00559c60
lea ecx, [esp + 0x14]
mov byte [esp + 0x68], 3
mov dword [esp + 0x10], edi
call fcn.00558060
lea ecx, [esp + 0x1c]
mov byte [esp + 0x68], 4
call fcn.00558060
lea ecx, [esp + 0x24]
mov byte [esp + 0x68], 5
call fcn.00558060
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], 6
push ecx
mov ecx, esi
call fcn.00516fb0
push 0xff
lea ecx, [esp + 0x30]
call fcn.005590a0
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call fcn.00558070
lea ecx, [esp + 0x30]
call fcn.00558c30
sub esp, 0x24
lea ecx, [esp + 0x50]
mov eax, esp
mov dword [esp + 0x44], esp
push edi
push ecx
push eax
mov ecx, 0x619a20
call fcn.00553230
lea ecx, [esp + 0x60]
call fcn.00559e10
lea ecx, [esp + 0x3c]
call fcn.0055a240
test ax, ax
jne 0x517394
lea ecx, [esp + 0x24]
mov byte [esp + 0x68], 5
call fcn.005581a0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x68], 4
call fcn.005581a0
lea ecx, [esp + 0x14]
mov byte [esp + 0x68], 3
call fcn.005581a0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x68], 2
call fcn.00559d60
lea ecx, [esp + 0x2c]
mov byte [esp + 0x68], 1
call fcn.00558a00
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], 0
call fcn.005581a0
lea ecx, [esp + 0x70]
mov dword [esp + 0x68], 0xffffffff
call fcn.005581a0
or ax, 0xffff
jmp 0x51757f
push edi
lea ecx, [esp + 0x40]
call fcn.0055a180
mov eax, dword [eax + 4]
push edi
mov ecx, eax
call fcn.00558380
xor dx, dx
mov ecx, esi
mov dl, al
push edx
call fcn.00517690
movsx eax, ax
cmp eax, 4
ja case.default.0x5173be
jmp dword [eax*4 + 0x517594]
mov dword [esp + 0x10], 4
jmp case.default.0x5173be
mov dword [esp + 0x10], 3
jmp case.default.0x5173be
mov dword [esp + 0x10], 2
jmp case.default.0x5173be
mov dword [esp + 0x10], 1
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 4]
cmp ebp, ebp
mov edi, ebp
je 0x517419
push ecx
mov ecx, esp
mov dword [esp + 0x78], esp
push edi
call fcn.00558070
mov ecx, esi
call fcn.00558390
add edi, 4
add esi, 4
cmp edi, ebp
jne 0x5173fb
mov eax, dword [ebx + 8]
mov ecx, ebx
push eax
push esi
call fcn.00402cf0
mov dword [ebx + 8], esi
mov dword [esp + 0x74], 0
push 0
lea ecx, [esp + 0x40]
call fcn.0055a180
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x517446
xor eax, eax
jmp 0x51744e
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
movsx edi, word [esp + 0x74]
cmp edi, eax
jae 0x517504
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0
call fcn.00558090
lea ecx, [esp + 0x18]
call fcn.00558390
mov esi, dword [esp + 0x10]
push 0
lea ecx, [esp + 0x40]
call fcn.0055a180
mov eax, dword [eax + 4]
lea ecx, [eax + edi*4]
call fcn.00558520
movsx eax, ax
movsx ecx, si
dec eax
cmp ecx, eax
jge 0x5174da
push 0
lea ecx, [esp + 0x40]
call fcn.0055a180
mov eax, dword [eax + 4]
push esi
lea ecx, [eax + edi*4]
call fcn.00558380
push eax
lea ecx, [esp + 0x18]
call fcn.00558500
push 0
lea ecx, [esp + 0x40]
inc esi
call fcn.0055a180
mov eax, dword [eax + 4]
lea ecx, [eax + edi*4]
call fcn.00558520
movsx edx, ax
movsx eax, si
dec edx
cmp eax, edx
jl 0x517497
push 0
lea ecx, [esp + 0x18]
call fcn.00558380
cmp al, 0x7f
je 0x5174fb
mov edx, dword [ebx + 8]
lea ecx, [esp + 0x14]
push ecx
push 1
push edx
mov ecx, ebx
call fcn.00402a90
inc dword [esp + 0x74]
jmp 0x517430
mov eax, dword [ebx + 4]
test eax, eax
jne 0x51750f
xor esi, esi
jmp 0x517517
mov esi, dword [ebx + 8]
sub esi, eax
sar esi, 2
lea ecx, [esp + 0x24]
mov byte [esp + 0x68], 5
call fcn.005581a0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x68], 4
call fcn.005581a0
lea ecx, [esp + 0x14]
mov byte [esp + 0x68], 3
call fcn.005581a0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x68], 2
call fcn.00559d60
lea ecx, [esp + 0x2c]
mov byte [esp + 0x68], 1
call fcn.00558a00
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], 0
call fcn.005581a0
lea ecx, [esp + 0x70]
mov dword [esp + 0x68], 0xffffffff
call fcn.005581a0
mov ax, si
mov ecx, dword [esp + 0x60]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x5c
ret 8