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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x57b3ee
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
push ebx
push edi
mov eax, dword [0x5d52e0]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
xor ebx, ebx
cmp dword [esi + 0x454], ebx
jg 0x56144e
mov eax, dword [esi + 0x118]
cmp eax, 0x1fa5
jg 0x56165c
je 0x561663
cmp eax, 0xcff
je 0x56127f
cmp eax, 0x1fa4
jne 0x561671
cmp dword [ebp + 8], 1
jne 0x561671
push 0x1f8d
mov ecx, esi
call fcn.0041a9d4
mov edi, eax
test edi, edi
je 0x561243
cmp dword [edi + 0x20], ebx
jne 0x561251
push 0x1f8e
mov ecx, esi
call fcn.0041a9d4
mov edi, eax
xor eax, eax
xor ebx, ebx
test edi, edi
je 0x561274
cmp dword [edi + 0x20], eax
je 0x561265
mov ecx, edi
call fcn.00402b20
cmp dword [edi + 0x20], ebx
je 0x561274
push eax
mov ecx, edi
call fcn.00402b40
mov ebx, eax
mov dword [0x5ddb0c], ebx
jmp 0x561682
push esi
call fcn.005609f0
mov ecx, esi
call fcn.00558ad0
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x4a8]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
cmp eax, dword [esi + 0x4ac]
je 0x5612de
mov edx, dword [esi + 0x4ac]
lea esp, [esp]
mov ecx, dword [eax + 8]
cmp ecx, ebx
jle 0x5612bd
mov dword [esp + 0x28], ecx
mov ebx, ecx
mov ecx, dword [eax + 0xc]
cmp ecx, dword [esp + 0x2c]
jle 0x5612ca
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 0x10]
cmp ecx, dword [esp + 0x2c]
jle 0x5612d7
mov dword [esp + 0x2c], ecx
add eax, 0x1c
cmp eax, edx
jne 0x5612b0
mov eax, dword [ebp + 8]
dec eax
je 0x561318
dec eax
jne 0x5615ea
push esi
mov ecx, 0x97e00
call fcn.00564a20
add esp, 4
cmp eax, 2
jne 0x5615ea
xor eax, eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.0040c84f
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x561332
push 0x80004005
call fcn.004010a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [esp + 0x24], edi
xor eax, eax
mov dword [esp + 0x80], eax
cmp dword [esi + 0x20], eax
je 0x561420
lea edi, [esi + 0x98]
mov ecx, 0xe09
lea ebx, [esp + 0x34]
call fcn.005344c0
mov edi, dword [edi + 4]
mov eax, dword [esp + 0x34]
cmp eax, edi
je 0x561378
mov edi, dword [eax + 0x28]
jmp 0x56137a
xor edi, edi
xor ebx, ebx
xor eax, eax
cmp edi, ebx
je 0x56139d
cmp dword [edi + 0x20], ebx
je 0x56139d
mov ecx, edi
call fcn.00402b20
cmp dword [edi + 0x20], ebx
je 0x56139d
push eax
mov ecx, edi
call fcn.00402b40
jmp 0x56139f
mov eax, ebx
mov edx, dword [esi + 0x110]
push edx
mov ecx, eax
lea edi, [esp + 0x40]
call fcn.00530ca0
add esp, 4
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x84], 1
call fcn.004015b0
mov ecx, edi
mov byte [esp + 0x80], bl
call fcn.00404b10
mov eax, dword [esi + 0x110]
push eax
mov edx, 0x50020
call fcn.0054e0a0
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x28]
call fcn.0052c750
add esp, 4
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x84], 2
call fcn.004015b0
lea ecx, [esp + 0x40]
mov byte [esp + 0x80], bl
call fcn.00404b10
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov edx, dword [esi + 0x4bc]
mov eax, dword [edi - 0xc]
mov ecx, dword [edx - 0xc]
lea eax, [ecx + eax + 9]
cmp eax, 0x104
jle 0x561464
mov ecx, 0x97900
push esi
call fcn.00564a20
add esp, 4
lea ecx, [esp + 0x24]
call fcn.00404b10
xor eax, eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edi
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x561476
mov ecx, 0x97200
jmp 0x56143c
push edi
call fcn.0052a9f0
add esp, 4
test al, al
jne 0x56148a
mov ecx, 0x9f400
jmp 0x56143c
mov eax, dword [esi + 0x110]
push eax
mov ecx, 0xa0009
lea edi, [esp + 0x2c]
call fcn.00530ca0
mov byte [esp + 0x84], 3
fld qword [0x5ae1b0]
mov eax, dword [esp + 0x2c]
push ecx
fstp qword [esp]
push eax
call fcn.0052a960
add esp, 0xc
test al, al
jne 0x5614d5
push esi
mov ecx, 0x9e902
call fcn.00564a20
add esp, 4
cmp eax, 2
je 0x561548
mov ecx, dword [esi + 0x4ac]
sub ecx, dword [esi + 0x4a8]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esi + 0x4c4]
lea eax, [ecx + edx - 1]
cmp eax, 0x2710
jl 0x561556
mov eax, dword [esi + 0x4c0]
push ecx
sub eax, 0x10
mov dword [esp + 0x3c], esp
mov edi, esp
push eax
call fcn.00401a10
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0054e780
push esi
mov ecx, 0x97300
call fcn.00564a20
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x5a95c8
call fcn.00401210
call fcn.0054e780
lea ecx, [esp + 0x28]
call fcn.00404b10
jmp 0x561445
mov eax, dword [esp + 0x30]
cmp eax, 0x10e5
je 0x561568
cmp eax, 0x10e6
jne 0x561590
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esi + 0x4e8]
jle 0x561590
push esi
mov ecx, 0x96f00
call fcn.00564a20
add esp, 4
lea ecx, [esp + 0x28]
call fcn.00404b10
jmp 0x561445
cmp eax, 0x10e0
je 0x5615ac
cmp eax, 0x10e1
je 0x5615ac
cmp eax, 0x10e5
je 0x5615ac
cmp eax, 0x10e6
jne 0x5615cd
cmp ebx, 0x10
je 0x5615b6
cmp ebx, 0x30
jne 0x5615cd
push esi
mov ecx, 0x97000
call fcn.00564a20
add esp, 4
cmp eax, 2
je 0x561548
lea ecx, [esp + 0x28]
call fcn.00404b10
lea ecx, [esp + 0x24]
mov dword [esp + 0x80], 0xffffffff
call fcn.00404b10
mov eax, dword [esi + 0x4b8]
test eax, eax
je 0x56163c
cmp dword [eax + 0x2c], 0
je 0x56163c
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov byte [0x5dda20], 1
mov edx, dword [esi + 0x4b8]
mov eax, dword [edx + 0x2c]
push 0x3e8
push eax
call edi
cmp eax, 0x102
je 0x561600
mov ecx, dword [esi + 0x4b8]
test ecx, ecx
je 0x561632
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [esi + 0x4b8], 0
mov eax, dword [ebp + 8]
dec eax
je 0x56164e
dec eax
jne 0x561671
mov edi, esi
call fcn.00558960
jmp 0x561677
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, esi
call fcn.0055fd30
jmp 0x561682
cmp eax, 0x1fc2
jne 0x561671
cmp dword [ebp + 8], 1
jne 0x561671
push esi
call fcn.0055ea80
jmp 0x561682
cmp dword [ebp + 8], 2
jne 0x561682
lea ebx, [esi + 0x98]
call fcn.00533f40
mov eax, dword [esi + 0x458]
test eax, eax
je 0x56169e
mov edx, dword [esi + 0x45c]
mov ecx, dword [ebp + 8]
push 0
push edx
push ecx
call eax
add esp, 0xc
mov eax, 1
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 4