Function at 0x421470
Capabilities:
Get common file path
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b2fd3
mov eax, dword fs:[0]
push eax
sub esp, 0xc34
mov eax, dword [0x4d84d0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
mov eax, 0x20
test eax, eax
je 0x42162f
push 0xb0
lea ecx, [ebp - 0xc4]
call fcn.00424830
push 1
push 3
lea ecx, [ebp - 0xc4]
call fcn.00412600
mov dword [ebp - 4], 0
lea eax, [ebp - 0xcc]
push eax
call fcn.0042ee10
add esp, 4
lea eax, [ebp - 0xcc]
push eax
call fcn.0042fb80
add esp, 4
mov dword [ebp - 0xd0], eax
mov byte [ebp - 0x110], 0
push 0x3f
push 0
lea eax, [ebp - 0x10f]
push eax
call fcn.00490e10
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx + 8]
push edx
push str._02d:_02d:_02d__u._u_
push 0x40
lea eax, [ebp - 0x110]
push eax
call fcn.00493cad
add esp, 0x20
lea eax, [ebp - 0xc4]
test eax, eax
je 0x42156e
lea ecx, [ebp - 0xc4]
add ecx, 0x10
mov dword [ebp - 0xc38], ecx
jmp 0x421578
mov dword [ebp - 0xc38], 0
push str.CMainFrame::OnCreate
push 0x4b7674
push str.CMainFrame
push 0x4b768c
lea edx, [ebp - 0x110]
push edx
mov eax, dword [ebp - 0xc38]
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push 0x411690
lea eax, [ebp - 0xc34]
push eax
lea ecx, [ebp - 0xc4]
call fcn.0041d910
mov dword [ebp - 0xc38], eax
mov ecx, dword [ebp - 0xc38]
mov dword [ebp - 0xc3c], ecx
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0xc3c]
push edx
push 0x4db630
call fcn.0040d090
add esp, 8
mov ecx, eax
call fcn.00413d80
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc34]
call fcn.004048f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc4]
call fcn.00414570
xor eax, eax
jne 0x4214a1
mov eax, dword [0x4d800c]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0xfffffffffffffff0
mov ecx, dword [ebp - 0x14]
call fcn.004353ef
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x114]
and eax, 0xff3fffff
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x114]
or eax, 0x4000000
or eax, 0x2000000
push eax
push 0xfffffffffffffff0
mov ecx, dword [ebp - 0x14]
call fcn.004353ef
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x5d4
call fcn.00432eb6
push 0x148
lea ecx, [ebp - 0x25c]
call fcn.00424830
lea ecx, [ebp - 0x25c]
call fcn.0043867d
mov dword [ebp - 4], 2
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov ecx, dword [ebp - 0x14]
mov word [ecx + 0x9f8], ax
mov dword [ebp - 0x260], 0
mov eax, dword [ebp - 0x14]
movzx ecx, word [eax + 0x9f8]
cmp ecx, 0x804
jne 0x421776
push 0
mov eax, dword [ebp - 0x14]
add eax, 0x5d4
push eax
push 0
push 0x4b799c
push ecx
mov ecx, esp
mov dword [ebp - 0xb74], esp
push 0x9a
call fcn.0041f590
lea ecx, [ebp - 0x25c]
call fcn.00439062
mov dword [ebp - 0x260], eax
push str.http:__www.droid4x.com_test_xkxy.html
lea ecx, [ebp - 0xc1c]
call fcn.00404750
mov byte [ebp - 4], 3
lea eax, [ebp - 0xc1c]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x880
call fcn.0041d3a0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xc1c]
call fcn.00402c50
push str.http:__log.droid4x.cn_dxadmin_operate.php
mov ecx, 0x4dada4
call fcn.004049a0
jmp 0x4217f3
push 0
mov eax, dword [ebp - 0x14]
add eax, 0x5d4
push eax
push 0
push 0x4b799c
push ecx
mov ecx, esp
mov dword [ebp - 0xb70], esp
push 0x81
call fcn.0041f590
lea ecx, [ebp - 0x25c]
call fcn.00439062
mov dword [ebp - 0x260], eax
push str.http:__www.droid4x.com_test_xkxy_en.html
lea ecx, [ebp - 0xc04]
call fcn.00404750
mov byte [ebp - 4], 4
lea eax, [ebp - 0xc04]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x880
call fcn.0041d3a0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xc04]
call fcn.00402c50
push str.http:__www.droid4x.com_dxadmin_operate.php
mov ecx, 0x4dada4
call fcn.004049a0
push 0
call fcn.0040c580
add esp, 4
cmp dword [ebp - 0x260], 0
jne 0x4219d5
mov eax, 0x20
test eax, eax
je 0x421992
push 0xb0
lea ecx, [ebp - 0x310]
call fcn.00424830
push 1
push 3
lea ecx, [ebp - 0x310]
call fcn.00412600
mov byte [ebp - 4], 5
lea eax, [ebp - 0x318]
push eax
call fcn.0042ee10
add esp, 4
lea eax, [ebp - 0x318]
push eax
call fcn.0042fb80
add esp, 4
mov dword [ebp - 0x31c], eax
mov byte [ebp - 0x35c], 0
push 0x3f
push 0
lea eax, [ebp - 0x35b]
push eax
call fcn.00490e10
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x31c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x31c]
mov edx, dword [ecx + 8]
push edx
push str._02d:_02d:_02d__u._u_
push 0x40
lea eax, [ebp - 0x35c]
push eax
call fcn.00493cad
add esp, 0x20
lea eax, [ebp - 0x310]
test eax, eax
je 0x4218d4
lea ecx, [ebp - 0x310]
add ecx, 0x10
mov dword [ebp - 0xc38], ecx
jmp 0x4218de
mov dword [ebp - 0xc38], 0
push str.main.xml_load_failed_
push 0x4b7674
push str.CMainFrame
push 0x4b768c
lea edx, [ebp - 0x35c]
push edx
mov eax, dword [ebp - 0xc38]
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push 0x411690
lea eax, [ebp - 0xbec]
push eax
lea ecx, [ebp - 0x310]
call fcn.0041d910
mov dword [ebp - 0xc38], eax
mov ecx, dword [ebp - 0xc38]
mov dword [ebp - 0xc3c], ecx
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0xc3c]
push edx
push 0x4db630
call fcn.0040d090
add esp, 8
mov ecx, eax
call fcn.00413d80
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xbec]
call fcn.004048f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x310]
call fcn.00414570
xor eax, eax
jne 0x42180a
push 0
push 0x4b7a68
push str.main.xml
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0xb6c], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x25c]
call fcn.0041f670
mov eax, dword [ebp - 0xb6c]
jmp 0x422678
mov eax, dword [ebp - 0x260]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x5d4
call fcn.00432a08
cmp dword [ebp - 0x14], 0
je 0x4219fe
mov eax, dword [ebp - 0x14]
add eax, 0x10
mov dword [ebp - 0xc38], eax
jmp 0x421a08
mov dword [ebp - 0xc38], 0
mov ecx, dword [ebp - 0xc38]
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x5d4
call fcn.0043293f
mov ecx, dword [ebp - 0x14]
call fcn.00425e40
mov ecx, dword [ebp - 0x14]
call fcn.004353ef
mov dword [ebp - 0x360], eax
push 0
push 0x1388
push 0x400
mov ecx, dword [ebp - 0x14]
call fcn.004353ef
push eax
call dword [sym.imp.USER32.dll_SetTimer]
call fcn.00406280
movzx eax, al
test eax, eax
jne 0x421c66
mov eax, 0x20
test eax, eax
je 0x421be6
push 0xb0
lea ecx, [ebp - 0x410]
call fcn.00424830
push 1
push 3
lea ecx, [ebp - 0x410]
call fcn.00412600
mov byte [ebp - 4], 7
lea eax, [ebp - 0x418]
push eax
call fcn.0042ee10
add esp, 4
lea eax, [ebp - 0x418]
push eax
call fcn.0042fb80
add esp, 4
mov dword [ebp - 0x41c], eax
mov byte [ebp - 0x45c], 0
push 0x3f
push 0
lea eax, [ebp - 0x45b]
push eax
call fcn.00490e10
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
mov eax, dword [ebp - 0x41c]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x41c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x41c]
mov edx, dword [ecx + 8]
push edx
push str._02d:_02d:_02d__u._u_
push 0x40
lea eax, [ebp - 0x45c]
push eax
call fcn.00493cad
add esp, 0x20
lea eax, [ebp - 0x410]
test eax, eax
je 0x421b28
lea ecx, [ebp - 0x410]
add ecx, 0x10
mov dword [ebp - 0xc38], ecx
jmp 0x421b32
mov dword [ebp - 0xc38], 0
push str.cpu_not_supported_
push 0x4b7674
push str.CMainFrame
push 0x4b768c
lea edx, [ebp - 0x45c]
push edx
mov eax, dword [ebp - 0xc38]
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push 0x411690
lea eax, [ebp - 0xbd4]
push eax
lea ecx, [ebp - 0x410]
call fcn.0041d910
mov dword [ebp - 0xc38], eax
mov ecx, dword [ebp - 0xc38]
mov dword [ebp - 0xc3c], ecx
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0xc3c]
push edx
push 0x4db630
call fcn.0040d090
add esp, 8
mov ecx, eax
call fcn.00413d80
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xbd4]
call fcn.004048f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x410]
call fcn.00414570
xor eax, eax
jne 0x421a5e
push 0xa
call fcn.0040c580
add esp, 4
lea eax, [ebp - 0xbbc]
push eax
call fcn.00404d40
add esp, 4
mov dword [ebp - 0xc38], eax
mov ecx, dword [ebp - 0xc38]
mov dword [ebp - 0xc3c], ecx
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0xc3c]
call fcn.00403a30
push eax
lea ecx, [ebp - 0x474]
call fcn.00404750
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xbbc]
call fcn.00402c50
lea ecx, [ebp - 0x474]
call fcn.00403a30
push eax
call fcn.0042dab0
add esp, 4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x474]
call fcn.00402c50
call fcn.004065e0
test eax, eax
je 0x421c76
call fcn.0042e4d0
jmp 0x421c84
call fcn.004064c0
test eax, eax
je 0x421c84
call fcn.0042db90
mov byte [ebp - 0x578], 0
push 0x103
push 0
lea eax, [ebp - 0x577]
push eax
call fcn.00490e10
add esp, 0xc
push 0
push 0x1a
lea eax, [ebp - 0x578]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
mov eax, 0x20
test eax, eax
je 0x421e4c
push 0xb0
lea ecx, [ebp - 0x628]
call fcn.00424830
push 1
push 3
lea ecx, [ebp - 0x628]
call fcn.00412600
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x630]
push eax
call fcn.0042ee10
add esp, 4
lea eax, [ebp - 0x630]
push eax
call fcn.0042fb80
add esp, 4
mov dword [ebp - 0x634], eax
mov byte [ebp - 0x674], 0
push 0x3f
push 0
lea eax, [ebp - 0x673]
push eax
call fcn.00490e10
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
mov eax, dword [ebp - 0x634]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x634]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x634]
mov edx, dword [ecx + 8]
push edx
push str._02d:_02d:_02d__u._u_
push 0x40
lea eax, [ebp - 0x674]
push eax
call fcn.00493cad
add esp, 0x20
lea eax, [ebp - 0x628]
test eax, eax
je 0x421d7e
lea ecx, [ebp - 0x628]
add ecx, 0x10
mov dword [ebp - 0xc38], ecx
jmp 0x421d88
mov dword [ebp - 0xc38], 0
lea edx, [ebp - 0x578]
push edx
push str.public_path:
push 0x4b7674
push str.CMainFrame
push 0x4b768c
lea eax, [ebp - 0x674]
push eax
mov ecx, dword [ebp - 0xc38]
push ecx
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push 0x411690
lea eax, [ebp - 0xba4]
push eax
lea ecx, [ebp - 0x628]
call fcn.0041d910
mov dword [ebp - 0xc38], eax
mov ecx, dword [ebp - 0xc38]
mov dword [ebp - 0xc3c], ecx
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0xc3c]
push edx
push 0x4db630
call fcn.0040d090
add esp, 8
mov ecx, eax
call fcn.00413d80
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xba4]
call fcn.004048f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x628]
call fcn.00414570
xor eax, eax
jne 0x421cb4
mov byte [ebp - 0x778], 0
push 0x103
push 0
lea eax, [ebp - 0x777]
push eax
call fcn.00490e10
add esp, 0xc
push str.HaiYuInstplugins
lea eax, [ebp - 0x578]
push eax
push 0x4b7ac4
lea ecx, [ebp - 0x778]
push ecx
call fcn.0041ec50
add esp, 0x10
mov eax, 0x20
test eax, eax
je 0x422029
push 0xb0
lea ecx, [ebp - 0x828]
call fcn.00424830
push 1
push 3
lea ecx, [ebp - 0x828]
call fcn.00412600
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x830]
push eax
call fcn.0042ee10
add esp, 4
lea eax, [ebp - 0x830]
push eax
call fcn.0042fb80
add esp, 4
mov dword [ebp - 0x834], eax
mov byte [ebp - 0x874], 0
push 0x3f
push 0
lea eax, [ebp - 0x873]
push eax
call fcn.00490e10
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
mov eax, dword [ebp - 0x834]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x834]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x834]
mov edx, dword [ecx + 8]
push edx
push str._02d:_02d:_02d__u._u_
push 0x40
lea eax, [ebp - 0x874]
push eax
call fcn.00493cad
add esp, 0x20
lea eax, [ebp - 0x828]
test eax, eax
je 0x421f5b
lea ecx, [ebp - 0x828]
add ecx, 0x10
mov dword [ebp - 0xc38], ecx
jmp 0x421f65
mov dword [ebp - 0xc38], 0
lea edx, [ebp - 0x778]
push edx
push str.plugin_path:
push 0x4b7674
push str.CMainFrame
push 0x4b768c
lea eax, [ebp - 0x874]
push eax
mov ecx, dword [ebp - 0xc38]
push ecx
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push 0x411690
lea eax, [ebp - 0xb8c]
push eax
lea ecx, [ebp - 0x828]
call fcn.0041d910
mov dword [ebp - 0xc38], eax
mov ecx, dword [ebp - 0xc38]
mov dword [ebp - 0xc3c], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0xc3c]
push edx
push 0x4db630
call fcn.0040d090
add esp, 8
mov ecx, eax
call fcn.00413d80
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xb8c]
call fcn.004048f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x828]
call fcn.00414570
xor eax, eax
jne 0x421e91
lea eax, [ebp - 0x778]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x14
call fcn.004049a0
mov eax, dword [ebp - 0x14]
push eax
call fcn.00427660
mov eax, dword [ebp - 0x14]
add eax, 0x14
push eax
lea ecx, [ebp - 0x88c]
push ecx
call fcn.0040a680
add esp, 8
mov byte [ebp - 4], 0x10
push 0x4b7adc
lea ecx, [ebp - 0x88c]
call fcn.00402c70
push 4
lea ecx, [ebp - 0x890]
call fcn.00424830
lea eax, [ebp - 0x88c]
push eax
lea ecx, [ebp - 0xb68]
push ecx
call fcn.0040a800
add esp, 8
mov dword [ebp - 0xc38], eax
mov edx, dword [ebp - 0xc38]
mov dword [ebp - 0xc3c], edx
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0xc3c]
call fcn.00406f40
push eax
lea ecx, [ebp - 0x890]
call fcn.0041efe0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xb68]
call fcn.004048f0
lea ecx, [ebp - 0x890]
call fcn.00404b30
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x2c
call fcn.004028a0
test eax, eax
jne 0x4222cf
mov eax, 0x20
test eax, eax
je 0x4222c7
push 0xb0
lea ecx, [ebp - 0x940]
call fcn.00424830
push 1
push 3
lea ecx, [ebp - 0x940]
call fcn.00412600
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x948]
push eax
call fcn.0042ee10
add esp, 4
lea eax, [ebp - 0x948]
push eax
call fcn.0042fb80
add esp, 4
mov dword [ebp - 0x94c], eax
mov byte [ebp - 0x98c], 0
push 0x3f
push 0
lea eax, [ebp - 0x98b]
push eax
call fcn.00490e10
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
mov eax, dword [ebp - 0x94c]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x94c]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x94c]
mov edx, dword [ecx + 8]
push edx
push str._02d:_02d:_02d__u._u_
push 0x40
lea eax, [ebp - 0x98c]
push eax
call fcn.00493cad
add esp, 0x20
lea eax, [ebp - 0x940]
test eax, eax
je 0x4221be
lea ecx, [ebp - 0x940]
add ecx, 0x10
mov dword [ebp - 0xc38], ecx
jmp 0x4221c8
mov dword [ebp - 0xc38], 0
lea edx, [ebp - 0x88c]
push edx
lea eax, [ebp - 0xb50]
push eax
call fcn.0040a800
add esp, 8
mov dword [ebp - 0xc3c], eax
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0xc40], ecx
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0xc40]
push edx
push str.load_thunder_dll_failed:
push 0x4b7674
push str.CMainFrame
push 0x4b768c
lea eax, [ebp - 0x98c]
push eax
mov ecx, dword [ebp - 0xc38]
push ecx
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d090
add esp, 8
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0xb50]
call fcn.004048f0
push 0x411690
lea eax, [ebp - 0xb34]
push eax
lea ecx, [ebp - 0x940]
call fcn.0041d910
mov dword [ebp - 0xc38], eax
mov ecx, dword [ebp - 0xc38]
mov dword [ebp - 0xc3c], ecx
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0xc3c]
push edx
push 0x4db630
call fcn.0040d090
add esp, 8
mov ecx, eax
call fcn.00413d80
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0xb34]
call fcn.004048f0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x940]
call fcn.00414570
xor eax, eax
jne 0x4220f4
mov dword [ebp - 0x990], 0
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0xb38], esp
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x880
call fcn.00419820
mov dword [ebp - 0xc38], eax
mov ecx, dword [ebp - 0x14]
call fcn.00425c60
mov dword [ebp - 0xc3c], eax
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x990], ecx
cmp dword [ebp - 0x990], 0x1f4
jb 0x422324
jmp 0x422638
lea eax, [ebp - 0x9a8]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x880
call fcn.00419820
mov byte [ebp - 4], 0x17
push 0
lea ecx, [ebp - 0x9a8]
call fcn.0041fb40
movzx eax, word [eax]
cmp eax, 0x5a
jne 0x422369
push 0
lea ecx, [ebp - 0x9a8]
call fcn.0041fb40
mov ecx, 0x61
mov word [eax], cx
jmp 0x4223ab
push 0
lea ecx, [ebp - 0x9a8]
call fcn.0041fb40
mov dword [ebp - 0xc38], eax
push 0
lea ecx, [ebp - 0x9a8]
call fcn.0041fb40
mov ecx, dword [ebp - 0xc38]
mov dx, word [ecx]
mov word [eax], dx
mov eax, dword [ebp - 0xc38]
mov cx, word [eax]
add cx, 1
mov edx, dword [ebp - 0xc38]
mov word [edx], cx
push 0
lea ecx, [ebp - 0x9a8]
call fcn.0041fb40
movzx eax, word [eax]
cmp eax, 0x7a
jle 0x4225a8
mov eax, 0x20
test eax, eax
je 0x42254c
push 0xb0
lea ecx, [ebp - 0xa58]
call fcn.00424830
push 1
push 3
lea ecx, [ebp - 0xa58]
call fcn.00412600
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0xa60]
push eax
call fcn.0042ee10
add esp, 4
lea eax, [ebp - 0xa60]
push eax
call fcn.0042fb80
add esp, 4
mov dword [ebp - 0xa64], eax
mov byte [ebp - 0xaa4], 0
push 0x3f
push 0
lea eax, [ebp - 0xaa3]
push eax
call fcn.00490e10
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
mov eax, dword [ebp - 0xa64]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xa64]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xa64]
mov edx, dword [ecx + 8]
push edx
push str._02d:_02d:_02d__u._u_
push 0x40
lea eax, [ebp - 0xaa4]
push eax
call fcn.00493cad
add esp, 0x20
lea eax, [ebp - 0xa58]
test eax, eax
je 0x42248e
lea ecx, [ebp - 0xa58]
add ecx, 0x10
mov dword [ebp - 0xc38], ecx
jmp 0x422498
mov dword [ebp - 0xc38], 0
push str.harddisk_freespace_not_enough_
push 0x4b7674
push str.CMainFrame
push 0x4b768c
lea edx, [ebp - 0xaa4]
push edx
mov eax, dword [ebp - 0xc38]
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push 0x411690
lea eax, [ebp - 0xb14]
push eax
lea ecx, [ebp - 0xa58]
call fcn.0041d910
mov dword [ebp - 0xc38], eax
mov ecx, dword [ebp - 0xc38]
mov dword [ebp - 0xc3c], ecx
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0xc3c]
push edx
push 0x4db630
call fcn.0040d090
add esp, 8
mov ecx, eax
call fcn.00413d80
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xb14]
call fcn.004048f0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xa58]
call fcn.00414570
xor eax, eax
jne 0x4223c4
mov dword [ebp - 0xb1c], 1
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x9a8]
call fcn.00402c50
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x890]
call fcn.0041f5f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x88c]
call fcn.00402c50
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x25c]
call fcn.0041f670
mov eax, dword [ebp - 0xb1c]
jmp 0x422678
lea eax, [ebp - 0x9a8]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x880
call fcn.0041d370
lea eax, [ebp - 0xafc]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x880
call fcn.00419820
mov dword [ebp - 0xc38], eax
mov ecx, dword [ebp - 0xc38]
mov dword [ebp - 0xc3c], ecx
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0xc3c]
call fcn.00403a30
push eax
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x85c]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax]
mov ecx, dword [ecx + 0x85c]
mov eax, dword [edx + 0x2c]
call eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xafc]
call fcn.00402c50
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x9a8]
call fcn.00402c50
mov eax, 1
test eax, eax
jne 0x4222d9
mov dword [ebp - 0xb18], 1
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x890]
call fcn.0041f5f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x88c]
call fcn.00402c50
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x25c]
call fcn.0041f670
mov eax, dword [ebp - 0xb18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004909b2
mov esp, ebp
pop ebp
ret 0x10