Function at 0x5687a0
Capabilities:
Accept command line arguments
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ab77e
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1624
call fcn.0059f510
mov eax, dword [0x5f300c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x48]
xor eax, eax
mov dword [ebp - 0x4c], vtable.FilePath.0
push eax
push 0x5c0b38
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 7
mov word [ebp - 0x48], ax
call fcn.0040acf0
lea edx, [ebp - 0x4c]
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x68]
call fcn.00562e20
lea edx, [eax + 4]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call fcn.00560610
cmp dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x2c]
jb 0x56882f
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x56886c
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x568862
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x568862
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0059e222
add esp, 8
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.0040ab30
lea ecx, [ebp - 0x48]
call fcn.0040ab30
push str.kernel32.dll
mov dword [ebp - 4], 2
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, eax
test esi, esi
je 0x5688d2
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SetDefaultDllDirectories
push esi
call edi
test eax, eax
je 0x5688bf
push 0xa00
jmp 0x5688d0
push str.SetDllDirectoryW
push esi
call edi
test eax, eax
je 0x5688d2
push 0x5d73b0
call eax
xor edx, edx
mov dword [ebp - method.MultiplexExtension.virtual_0], vtable.MultiplexExtension.0
mov dword [ebp - 0x162c], 0
mov dword [ebp - 0x1628], edx
mov dword [ebp - 0x1624], edx
mov dword [ebp - 0x1620], edx
mov dword [ebp - 4], 3
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x603044]
cmp eax, dword [ecx + 4]
jle 0x568953
push 0x603044
call fcn.0059e3ce
add esp, 4
cmp dword [0x603044], 0xffffffff
jne 0x56894d
push 0x5ac740
mov dword [0x603040], 0x5dda44
call fcn.0059e20d
push 0x603044
call fcn.0059e384
add esp, 8
mov edx, dword [ebp - 0x1628]
mov eax, dword [ebp - 0x162c]
cmp eax, edx
je 0x56896f
lea ecx, [ecx]
cmp dword [eax], 0x603040
je 0x5689bb
add eax, 4
cmp eax, edx
jne 0x568960
mov dword [ebp - 0x161c], 0x603040
cmp dword [ebp - 0x1624], edx
je 0x568990
mov dword [edx], 0x603040
add dword [ebp - 0x1628], 4
jmp 0x5689a3
lea eax, [ebp - 0x161c]
push eax
push edx
lea ecx, [ebp - 0x162c]
call fcn.00402320
mov ecx, dword [ebp - 0x1620]
test ecx, ecx
je 0x5689bb
mov eax, dword [0x603040]
push ecx
mov ecx, 0x603040
call dword [eax + 4]
call fcn.0055fdb0
mov ecx, dword [ebp - 0x162c]
mov esi, eax
mov edx, dword [ebp - 0x1628]
cmp ecx, edx
je 0x5689dd
cmp dword [ecx], esi
je 0x568a1b
add ecx, 4
cmp ecx, edx
jne 0x5689d2
mov dword [ebp - 0x161c], esi
cmp dword [ebp - 0x1624], edx
je 0x5689f6
mov dword [edx], esi
add dword [ebp - 0x1628], 4
jmp 0x568a09
lea eax, [ebp - 0x161c]
push eax
push edx
lea ecx, [ebp - 0x162c]
call fcn.00402320
mov ecx, dword [ebp - 0x1620]
test ecx, ecx
je 0x568a1b
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 4]
mov ecx, ebx
call fcn.00562140
xor eax, eax
mov dword [ebp - 0x4c], vtable.FilePath.0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 7
mov word [ebp - 0x48], ax
lea edx, [ebp - 0x4c]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x68]
call fcn.00562e20
lea edx, [eax + 4]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c]
call fcn.00560610
mov byte [ebp - 4], 6
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
jb 0x568a6b
mov eax, dword [ebp - 0x2c]
push dword [ebp - 0x1c]
mov ecx, 0x5fef68
push eax
call fcn.0040af10
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x18]
cmp edx, 0x10
jb 0x568ab3
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x568aa9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x568aa9
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0059e222
add esp, 8
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.0040ab30
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 3
call fcn.0040ab30
call fcn.00419400
mov ecx, ebx
call fcn.00413d70
lea eax, [ebp - 0x1630]
mov dword [0x602f58], 0x568d80
push eax
lea ecx, [ebp - 0x1618]
mov dword [ebp - 0x161c], 0
call fcn.00561760
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov ecx, eax
movzx eax, word [ecx]
cmp eax, 0x22
jne 0x568b54
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
je 0x568b46
mov edx, eax
jmp 0x568b30
cmp dx, 0x22
je 0x568b4c
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
mov esi, eax
test ax, ax
jne 0x568b30
cmp si, 0x22
jne 0x568b4f
add ecx, 2
movzx esi, word [ecx]
jmp 0x568b76
mov esi, eax
test ax, ax
je 0x568b76
mov edx, eax
lea ecx, [ecx]
cmp dx, 0x20
je 0x568b80
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
mov esi, eax
test ax, ax
jne 0x568b60
cmp si, 0x20
jne 0x568b89
lea esp, [esp]
add ecx, 2
cmp word [ecx], 0x20
je 0x568b80
push ecx
lea ecx, [ebp - 0x1618]
mov byte [ebp - 4], 8
call fcn.00566060
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
mov esi, 1
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
mov dword [ebp - 0x28], 0
test esi, esi
je 0x568c3e
cmp byte [ebp - 0x13e0], 0
je 0x568be5
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x568be5
lea ecx, [ebp - 0x1618]
call fcn.0053edf0
jmp 0x568bb1
push 0
push 0
push 0
lea eax, [ebp - 0x30]
push eax
call edi
mov esi, eax
test esi, esi
jle 0x568bb3
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1618]
call fcn.0056c720
test al, al
jne 0x568bb1
mov eax, dword [ebp - 0xe68]
test eax, eax
je 0x568c29
lea ecx, [ebp - 0x30]
push ecx
push dword [ebp - 0x348]
push eax
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x568bb1
lea eax, [ebp - 0x30]
push eax
call ebx
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x568bb1
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 4], 7
jmp 0x568c70
mov eax, dword [ebp - 0x1618]
lea ecx, [ebp - 0x1618]
push 1
call dword [eax + 0x18c]
lea ecx, [ebp - 0x1618]
call fcn.00561f10
mov ax, word [0x602f4c]
xor ecx, ecx
mov edi, dword [sym.imp.USER32.dll_UnregisterClassW]
cmp cx, ax
je 0x568cb6
push dword [0x602f54]
movzx eax, ax
push eax
call edi
xor eax, eax
mov word [0x602f4c], ax
mov ax, word [0x602f50]
xor ecx, ecx
cmp cx, ax
je 0x568cd7
push dword [0x602f54]
movzx eax, ax
push eax
call edi
xor eax, eax
mov word [0x602f50], ax
mov ecx, 0x602f2c
call fcn.0040b110
mov ecx, 0x602f20
call fcn.0040b110
call fcn.0040b190
call fcn.0040b200
mov eax, dword [0x602fc4]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
test eax, eax
je 0x568d11
push eax
call esi
mov dword [0x602fc4], 0
mov eax, dword [0x602fc0]
test eax, eax
je 0x568d27
push eax
call esi
mov dword [0x602fc0], 0
mov eax, dword [0x602f38]
test eax, eax
je 0x568d3d
push eax
call esi
mov dword [0x602f38], 0
mov ecx, dword [0x602f44]
test ecx, ecx
je 0x568d4f
push ecx
push str.ListBoxX
call edi
lea ecx, [ebp - 0x1630]
call fcn.00526640
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0059df64
mov esp, ebp
pop ebp
ret 0x10