Function at 0x401560
Capabilities:
Set current directory
Terminate process

Disassembly:
sub esp, 0x24c
mov eax, dword [0x443284]
xor eax, esp
mov dword [esp + 0x248], eax
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push ebx
call sub.DrReport.dll_CreateDrReport
push 0x208
mov dword [0x445b5c], eax
lea eax, [esp + 0x56]
push ebx
push eax
mov word [esp + 0x5c], bx
call fcn.00424a50
call sub.KERNEL32.dll_GetCurrentProcessId
push ebx
mov dword [0x444c9c], eax
call fcn.0041f2ed
push eax
call fcn.0041f143
mov esi, dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
add esp, 0x18
call esi
cmp ax, 0x804
lea edi, [ebx + 2]
je 0x4015f8
call esi
cmp ax, 0x1004
je 0x4015f8
call esi
cmp ax, 0x404
je 0x4015ec
call esi
cmp ax, 0xc04
je 0x4015ec
call esi
cmp ax, 0x1404
je 0x4015ec
mov dword [0x445b64], edi
jmp 0x4015fe
mov dword [0x445b64], 1
jmp 0x4015fe
mov dword [0x445b64], ebx
call fcn.004191e0
cmp eax, 0xffffffff
je 0x4016ec
mov ecx, dword [0x44503c]
mov esi, dword [ecx]
sub esp, 0x1c
mov ecx, esp
mov eax, esi
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
mov dword [esp + 0x2c], esp
mov byte [ecx + 4], bl
lea edi, [eax + 1]
nop
mov dl, byte [eax]
add eax, 1
cmp dl, bl
jne 0x401630
sub eax, edi
push eax
push esi
call fcn.00401b50
lea esi, [esp + 0x4c]
call fcn.004120d0
mov ebp, 8
add esp, 0x1c
cmp dword [eax + 0x18], ebp
jb 0x40165d
mov edi, dword [eax + 4]
jmp 0x401660
lea edi, [eax + 4]
lea esi, [esp + 0x14]
call fcn.004014b0
cmp dword [eax + 0x18], ebp
jb 0x401673
mov eax, dword [eax + 4]
jmp 0x401676
add eax, 4
push edi
push eax
push 0xffffffffffffffff
lea edx, [esp + 0x58]
push 0x105
push edx
call fcn.0041f84a
add esp, 0x14
cmp dword [esp + 0x2c], ebp
jb 0x40169f
mov eax, dword [esp + 0x18]
push eax
call fcn.0041f829
add esp, 4
cmp dword [esp + 0x48], ebp
mov dword [esp + 0x2c], 7
mov dword [esp + 0x28], ebx
mov word [esp + 0x18], bx
jb 0x4016c3
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0041f829
add esp, 4
push 0x1000
push ebx
lea edx, [esp + 0x54]
push edx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [0x445b5c]
cmp ecx, ebx
je 0x4016e5
mov eax, dword [ecx]
mov edx, dword [eax]
call edx
push ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]
call fcn.00411dd0
push 0x104
lea eax, [esp + 0x50]
push eax
push ebx
mov dword [0x444de8], edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [esp + 0x4c]
push 0x5c
push ecx
call fcn.0041f104
add esp, 8
cmp eax, ebx
jne 0x401722
xor eax, eax
jmp 0x4017e8
mov word [eax], bx
lea eax, [esp + 0x4c]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, edi
cmp cx, bx
jne 0x401730
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x50]
push edx
mov esi, 0x444ca0
call fcn.00401d80
push 1
push 0x43a1fc
mov ecx, esi
call fcn.00401cb0
mov eax, dword [0x444ca4]
mov ebp, 8
cmp dword [0x444cb8], ebp
jae 0x401773
mov eax, 0x444ca4
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push 0x29c
call fcn.0041f09a
add esp, 4
cmp eax, ebx
je 0x401793
push eax
call fcn.00405310
jmp 0x401795
xor eax, eax
cmp dword [0x444cb8], ebp
mov ecx, dword [0x444ca4]
mov dword [0x445b60], eax
jae 0x4017ad
mov ecx, 0x444ca4
call fcn.00405530
test eax, eax
je 0x4017c4
call fcn.00405650
test eax, eax
je 0x4017c4
call fcn.004057a0
call fcn.004056a0
call fcn.00405ae0
call fcn.00411eb0
mov ecx, dword [0x445b5c]
cmp ecx, ebx
je 0x4017e3
mov eax, dword [ecx]
mov edx, dword [eax]
call edx
mov eax, 1
mov ecx, dword [esp + 0x258]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0041f134
add esp, 0x24c
ret 0x10