Function at 0x401b00
Capabilities:
Resolve path using msvcrt
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x250
mov eax, dword [0x406014]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x230], ecx
call dword [sym.imp.pgodb140.dll_public:_static_class_PogoDbInterface____stdcall_PogoDbUtil::NewPgdObject_void_]
xor ecx, ecx
mov dword [0x407c00], eax
push ecx
push ecx
mov edx, dword [eax]
mov ecx, eax
push dword [0x407be4]
call dword [edx + 0x14]
test eax, eax
jne 0x401b59
push dword [0x407be4]
push 0x51
push 0x36b1
call fcn.0040488c
push eax
call fcn.0040337f
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov ecx, dword [0x407c00]
push ebx
push esi
push edi
mov eax, dword [ecx]
call dword [eax + 0x24]
mov esi, eax
mov dword [ebp - 0x248], esi
test esi, esi
jne 0x401ba2
mov ecx, dword [0x407c00]
mov eax, dword [ecx]
call dword [eax]
push eax
call dword [sym.imp.pgodb140.dll_public:_static_unsigned_short_int_const____stdcall_PogoDbUtil::GetErrorText_enum_POGODB_ERROR_]
push eax
push dword [0x407be4]
push 0xa5
push 0x36b1
call fcn.0040488c
push eax
call fcn.00403341
jmp 0x401b51
cmp dword [esi + 4], 0x2c
jne 0x401b73
push dword [esi + 0xc]
call dword [sym.imp.pgodb140.dll_public:_static_struct_tagPGDMACHINEATTR____stdcall_PogoDbUtil::GetMachineAttributes_unsigned_long_int_]
mov ecx, dword [0x407c00]
test eax, eax
mov eax, dword [ecx]
je 0x401b7b
call dword [eax + 0x198]
mov ecx, dword [0x407c00]
test eax, eax
mov eax, dword [ecx]
je 0x401b7b
lea edx, [ebp - 0x250]
push edx
push 6
pop edx
push edx
call dword [eax + 0x20]
mov dword [ebp - 0x238], eax
test eax, eax
je 0x401b73
push 0x10
push 0x401300
push dword [0x407bf0]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfsopen]
mov ebx, eax
add esp, 0xc
mov dword [ebp - 0x244], ebx
test ebx, ebx
jne 0x401c16
push dword [0x407bf0]
push 0x57
jmp 0x401b41
mov ecx, dword [0x407be0]
mov eax, dword [esi + 0xc]
test ecx, ecx
jne 0x401caa
push eax
call dword [sym.imp.pgodb140.dll_public:_static_unsigned_short_int_const____stdcall_PogoDbUtil::GetMachineName_unsigned_long_int_]
push eax
push 0xc9
push 0x36b1
call fcn.0040488c
push eax
call fcn.00403517
mov eax, dword [esi + 0xc]
mov dword [0x407be0], eax
push 5
pop ecx
push 1
pop edi
sub eax, 0x14c
je 0x401d16
sub eax, 0x76
je 0x401d08
dec eax
sub eax, edi
je 0x401cfa
sub eax, 0x3c
je 0x401cec
sub eax, 0x8464
je 0x401cde
sub eax, 0x1fea
je 0x401cce
sub eax, 0x416
je 0x401cbe
push 0x218
push 0x401308
push edi
push 0x36b1
call fcn.0040488c
push eax
call fcn.004033b9
push edi
jmp 0x401b53
cmp eax, ecx
je 0x401c4c
push dword [0x407be4]
push 0xc8
jmp 0x401b41
push 0xe
pop eax
mov word [0x407bf4], ax
mov eax, 0xf6
jmp 0x401d22
push 0xe
pop eax
mov word [0x407bf4], ax
mov eax, 0xf9
jmp 0x401d22
mov word [0x407bf4], di
mov eax, 0xd0
jmp 0x401d22
mov word [0x407bf4], cx
mov eax, 0x80
jmp 0x401d22
mov word [0x407bf4], di
mov eax, 0xf4
jmp 0x401d22
mov word [0x407bf4], di
mov eax, pe_nt_image_headers32
jmp 0x401d22
push 6
pop eax
push 3
mov word [0x407bf4], ax
pop eax
mov word [0x4060b8], ax
mov edx, 0x8c
mov eax, dword [ebp - 0x230]
mov dword [0x406064], eax
mov ax, word [esi + 0xc]
push ecx
mov ecx, ebx
mov word [0x406060], ax
mov dword [0x406088], edx
call fcn.00402516
push 0x15
mov edx, 0x40139c
mov ecx, ebx
call fcn.0040256e
mov ecx, ebx
call fcn.00402548
sub eax, dword [0x406088]
mov ecx, ebx
mov dword [0x406084], eax
call fcn.00402548
push ecx
mov edx, eax
mov dword [0x406038], eax
mov ecx, ebx
call fcn.00402516
push dword [0x407bf0]
mov esi, dword [sym.imp.pgodb140.dll_public:_static_char____stdcall_PogoDbUtil::SzUtf8DupWz_unsigned_short_int_const__]
call esi
mov edx, eax
mov dword [ebp - 0x230], eax
lea eax, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x401d9f
sub edx, eax
push 0x104
lea eax, [edx + 1]
mov dword [ebp - 0x240], eax
add eax, 6
mov word [0x406150], ax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll__wgetcwd]
pop ecx
pop ecx
lea eax, [ebp - 0x20c]
push eax
call esi
mov edx, eax
mov dword [ebp - 0x23c], eax
lea eax, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x401de2
sub edx, eax
lea eax, [edx + 1]
mov dword [ebp - 0x22c], eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll___p__wpgmptr]
push dword [eax]
call esi
mov esi, eax
mov dword [ebp - 0x234], eax
lea eax, [esi + 1]
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x401e09
mov ecx, dword [ebp - 0x22c]
sub esi, eax
xor eax, eax
inc esi
mov dword [ebp - 0x214], eax
mov edx, 0x406144
push 0xc
lea eax, [ecx + 0xc]
mov dword [ebp - 0x212], 0x113d
add eax, esi
mov word [ebp - 0x214], ax
lea eax, [ecx + 0xc]
add eax, esi
movzx ecx, ax
movzx eax, word [0x4060b0]
add ecx, eax
movzx eax, word [0x406150]
add eax, 6
add eax, ecx
mov ecx, ebx
mov dword [0x40614c], eax
call fcn.0040256e
push 8
mov edx, 0x406150
mov ecx, ebx
call fcn.0040256e
push dword [ebp - 0x240]
mov edx, dword [ebp - 0x230]
mov ecx, ebx
call fcn.0040256e
push 0x2f
mov edx, 0x4060b0
mov ecx, ebx
call fcn.0040256e
push 5
lea edx, [ebp - 0x214]
mov ecx, ebx
call fcn.0040256e
push 4
mov edx, 0x401410
mov ecx, ebx
call fcn.0040256e
push dword [ebp - 0x22c]
mov edx, dword [ebp - 0x23c]
mov ecx, ebx
call fcn.0040256e
push 4
mov edx, 0x40140c
mov ecx, ebx
call fcn.0040256e
push esi
mov esi, dword [ebp - 0x234]
mov ecx, ebx
mov edx, esi
call fcn.0040256e
push edi
mov edx, 0x401490
mov ecx, ebx
call fcn.0040256e
push esi
mov esi, dword [sym.imp.pgodb140.dll_public:_static_void___stdcall_PogoDbUtil::FreeMemory_void__]
call esi
push dword [ebp - 0x23c]
call esi
push dword [ebp - 0x230]
call esi
mov ecx, ebx
call fcn.00402548
sub eax, dword [0x406038]
mov dword [0x406034], eax
test al, 1
je 0x401f2d
push edi
mov edx, 0x401490
mov ecx, ebx
call fcn.0040256e
mov ecx, ebx
call fcn.00402548
mov ecx, dword [0x407c00]
and dword [ebp - 0x22c], 0
mov dword [0x406108], eax
push 0
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov esi, eax
test esi, esi
je 0x401ff6
mov ebx, dword [ebp - 0x22c]
mov ecx, dword [0x407c00]
push esi
mov edx, dword [ecx]
call dword [edx + 0x64]
test eax, eax
jne 0x401f88
push 0x284
push 0x401308
push edi
push 0x36b1
call fcn.0040488c
push eax
call fcn.004033b9
mov ecx, dword [0x407c00]
lea edx, [ebp - 0x234]
push edx
lea edx, [ebp - 0x240]
push edx
mov eax, dword [ecx]
call dword [eax + 0x1dc]
test eax, eax
jne 0x401fc3
push 0x287
push 0x401308
push edi
push 0x36b1
call fcn.0040488c
push eax
call fcn.004033b9
mov ecx, dword [0x407c00]
add ebx, dword [ebp - 0x234]
mov eax, dword [ecx]
call dword [eax + 0x70]
mov ecx, dword [0x407c00]
push esi
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov esi, eax
test esi, esi
jne 0x401f5d
mov dword [ebp - 0x22c], ebx
mov ebx, dword [ebp - 0x244]
mov esi, 0x401490
mov ecx, ebx
push 0
mov edx, esi
call fcn.0040256e
mov eax, dword [ebp - 0x22c]
mov ecx, ebx
mov dword [ebp - 0x24c], eax
call fcn.00402548
sub eax, dword [0x406108]
mov ecx, ebx
mov edx, dword [ebp - 0x248]
push 0x120
mov dword [0x406124], eax
call fcn.0040256e
push 4
lea edx, [ebp - 0x24c]
mov ecx, ebx
call fcn.0040256e
push 4
mov edx, esi
mov ecx, ebx
call fcn.0040256e
push dword [ebp - 0x250]
mov edx, dword [ebp - 0x238]
mov ecx, ebx
call fcn.0040256e
mov ecx, ebx
call fcn.00402548
sub eax, dword [0x406108]
push dword [0x407be4]
mov dword [0x4060e8], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsdup]
mov edi, dword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov esi, eax
push 0x3a
push esi
call edi
add esp, 0xc
test eax, eax
je 0x402098
lea esi, [eax + 2]
push 0x5c
push esi
call edi
pop ecx
pop ecx
test eax, eax
je 0x4020a6
lea esi, [eax + 2]
push 0x2f
push esi
call edi
pop ecx
pop ecx
test eax, eax
je 0x4020b4
lea esi, [eax + 2]
push 0x2e
push esi
call edi
pop ecx
pop ecx
test eax, eax
je 0x4020c4
xor ecx, ecx
mov word [eax], cx
push esi
call dword [sym.imp.pgodb140.dll_public:_static_char____stdcall_PogoDbUtil::SzUtf8DupWz_unsigned_short_int_const__]
mov esi, eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4020d0
sub eax, edx
mov ecx, ebx
inc eax
mov edx, esi
push eax
call fcn.0040256e
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4020e9
sub ecx, edx
mov edx, 0x401490
push 8
lea eax, [ecx + 1]
and eax, 7
pop ecx
sub ecx, eax
neg eax
sbb eax, eax
and eax, ecx
mov ecx, ebx
push eax
call fcn.0040256e
push esi
call dword [sym.imp.pgodb140.dll_public:_static_void___stdcall_PogoDbUtil::FreeMemory_void__]
mov ecx, ebx
call fcn.00402548
mov dword [0x40610c], eax
mov ecx, ebx
xor eax, eax
mov word [0x406114], ax
call fcn.00402548
sub eax, dword [0x406108]
mov ecx, ebx
mov dword [0x406104], eax
call fcn.00402548
push 0x12
pop esi
push esi
mov edx, str._comp.id
mov dword [0x406068], eax
mov ecx, ebx
call fcn.0040256e
xor eax, eax
lea edi, [ebp - 0x228]
stosd dword es:[edi], eax
mov edx, str..debug_S
push esi
mov ecx, ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [0x406034]
mov dword [ebp - 0x228], eax
call fcn.0040256e
push esi
lea edx, [ebp - 0x228]
mov ecx, ebx
call fcn.0040256e
push 0x4013b4
mov edx, 0x40611c
mov ecx, ebx
call fcn.00401ab2
push 0x4013c4
mov edx, 0x4060e0
mov ecx, ebx
call fcn.00401ab2
mov eax, dword [0x406104]
mov edx, 0x40604c
mov dword [ebp - 0x228], eax
mov ecx, ebx
xor eax, eax
push esi
mov word [ebp - 0x224], ax
call fcn.0040256e
push esi
lea edx, [ebp - 0x228]
mov ecx, ebx
call fcn.0040256e
cmp dword [0x407bdc], 0
mov ecx, ebx
push 4
jne 0x4021f7
mov edx, 0x401490
call fcn.0040256e
jmp 0x402275
pop esi
mov dword [ebp - 0x22c], esi
call fcn.00402548
push esi
lea edx, [ebp - 0x22c]
mov dword [ebp - 0x238], eax
mov ecx, ebx
call fcn.0040256e
mov edi, dword [0x407bdc]
jmp 0x402241
mov edx, dword [edi + 4]
mov esi, edx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x402227
sub esi, ecx
mov ecx, ebx
inc esi
push esi
call fcn.0040256e
add dword [ebp - 0x22c], esi
mov edi, dword [edi]
test edi, edi
jne 0x40221f
mov ecx, ebx
call fcn.00402548
mov edx, dword [ebp - 0x238]
mov esi, eax
push ecx
mov ecx, ebx
call fcn.00402516
push 4
lea edx, [ebp - 0x22c]
mov ecx, ebx
call fcn.0040256e
push ecx
mov edx, esi
mov ecx, ebx
call fcn.00402516
mov ecx, ebx
call fcn.00402548
cdq
push edx
push eax
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fileno]
pop ecx
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__chsize_s]
pop ecx
pop ecx
xor edx, edx
mov ecx, ebx
call fcn.00402516
push 0x14
mov edx, 0x406060
mov ecx, ebx
call fcn.0040256e
push 0x28
mov edx, str..drectve
mov ecx, ebx
call fcn.0040256e
push 0x28
mov edx, 0x406024
mov ecx, ebx
call fcn.0040256e
push 0x28
mov edx, str..rdata
mov ecx, ebx
call fcn.0040256e
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
pop ecx
mov ecx, dword [0x407c00]
mov eax, dword [ecx]
call dword [eax + 0x18]
push dword [0x407c00]
call dword [sym.imp.pgodb140.dll_public:_static_class_PogoDbInterface____stdcall_PogoDbUtil::DeletePgdObject_class_PogoDbInterface__]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov dword [0x407c00], eax
pop ebx
call fcn.00402813
leave
ret