Function at 0x4046f0
Capabilities:
Get common file path

Disassembly:
sub esp, 0xe30
mov eax, dword [esp + 0xe40]
push ebx
push ebp
push esi
xor esi, esi
push edi
mov dword [eax], esi
mov edx, dword [0x455fa8]
lea ecx, [esp + 0xa40]
push 0x200
push ecx
push edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], esi
call fcn.00405370
add esp, 0xc
test eax, eax
je 0x4052cc
lea eax, [esp + 0x840]
push 0x200
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x4052cc
lea ecx, [esp + 0xc40]
push 0x200
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x4052cc
mov edx, dword [esp + 0xe4c]
mov ebx, dword [esp + 0xe48]
push esi
push edx
push ebx
call fcn.00426090
add esp, 0xc
test eax, eax
jne 0x4047a3
mov eax, dword [esp + 0xe44]
cmp eax, esi
je 0x404792
mov esi, dword [eax + 0x1c]
push 0x30
push str.Message
push str.MSG_ERR_PARSE_UPDATE
jmp 0x4052bc
push 0x450214
push esi
push ebx
call fcn.00426210
add esp, 0xc
test eax, eax
je 0x404784
push 0x45049c
push 1
push ebx
call fcn.00426210
add esp, 0xc
test eax, eax
je 0x404784
push 0x450498
push 2
push ebx
call fcn.00426210
add esp, 0xc
test eax, eax
je 0x404784
xor edi, edi
push esi
push ebx
mov dword [esp + 0x1c], edi
call fcn.004262d0
push esi
push ebx
call fcn.00426490
add esp, 0x10
test eax, eax
jne 0x404813
push esi
push ebx
inc edi
call fcn.004263f0
push esi
push ebx
call fcn.00426490
add esp, 0x10
test eax, eax
je 0x4047f9
mov dword [esp + 0x14], edi
push esi
push ebx
call fcn.004262d0
push esi
push ebx
call fcn.00426490
add esp, 0x10
test eax, eax
jne 0x405276
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x1c]
add eax, 0x64
mov dword [esp + 0x1c], eax
cdq
idiv dword [esp + 0x14]
cmp eax, 5
jl 0x40485c
mov esi, dword [esp + 0xe44]
mov dword [0x455edc], eax
push esi
call fcn.00405c90
add esp, 4
jmp 0x404863
mov esi, dword [esp + 0xe44]
mov eax, dword [0x455ed8]
test eax, eax
jne 0x4052a0
push 1
push ebx
mov byte [esp + 0x648], 0
mov byte [esp + 0x48], 0
mov byte [esp + 0x28], 0
call fcn.004262d0
add esp, 8
test eax, eax
je 0x404a04
push 2
push ebx
call fcn.004262d0
mov esi, eax
add esp, 8
test esi, esi
je 0x40491c
push 2
push ebx
call fcn.00426490
add esp, 8
test eax, eax
jne 0x40491c
push 0x450198
push 0x450198
push esi
call fcn.00425d50
push 0x450198
push 0x450198
push esi
call fcn.00425d50
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x40491c
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x104
jae 0x40491c
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x640]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 2
push ebx
call fcn.004263f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4049a0
push 2
push ebx
call fcn.00426490
add esp, 8
test eax, eax
jne 0x4049a0
push 0x450198
push 0x450198
push esi
call fcn.00425d50
push 0x450198
push 0x450198
push esi
call fcn.00425d50
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4049a0
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x104
jae 0x4049a0
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x40]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 2
push ebx
call fcn.004263f0
mov edi, eax
add esp, 8
test edi, edi
je 0x404a04
push 2
push ebx
call fcn.00426490
add esp, 8
test eax, eax
jne 0x404a04
push 0x450198
push 0x450198
push edi
call fcn.00425d50
push 0x450198
push 0x450198
push edi
call fcn.00425d50
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
lea edx, [esp + 0x20]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x240]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x40]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
test ecx, ecx
jle 0x404a93
mov al, byte [esp + ecx + 0x3f]
dec ecx
cmp al, 0x5c
je 0x404a51
cmp al, 0x2f
je 0x404a51
test ecx, ecx
jg 0x404a3e
jmp 0x404a93
lea edi, [esp + ecx + 0x41]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x240]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x450198
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x450198
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x248]
push ecx
call fcn.00425d50
add esp, 0xc
lea edx, [esp + 0x240]
push 0x450488
push edx
call fcn.00421a60
add esp, 8
test eax, eax
jne 0x404ab3
mov byte [esp + 0x640], al
lea eax, [esp + 0x240]
push str.thumbs.db
push eax
call fcn.00421a60
add esp, 8
test eax, eax
jne 0x404ad3
mov byte [esp + 0x640], al
lea ecx, [esp + 0x240]
push str.wwpvg.xcf
push ecx
call fcn.00421a60
add esp, 8
test eax, eax
jne 0x404af3
mov byte [esp + 0x640], al
lea edi, [esp + 0x640]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x40525b
lea edi, [esp + 0x40]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x40525b
lea edi, [esp + 0x20]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x40525b
lea edx, [esp + 0xc40]
lea eax, [esp + 0x840]
push edx
lea ecx, [esp + 0xa44]
push eax
lea edx, [esp + 0x48]
push ecx
push edx
call fcn.004053d0
lea eax, [esp + 0x30]
lea ecx, [esp + 0x50]
push eax
push ecx
call fcn.00408440
add esp, 0x18
test eax, eax
je 0x40525b
lea edx, [esp + 0x40]
push edx
call fcn.004052f0
add esp, 4
test eax, eax
je 0x404d9a
lea eax, [esp + 0x40]
lea ecx, [esp + 0x640]
push eax
push ecx
call fcn.00405730
add esp, 8
test eax, eax
jne 0x404f23
lea edx, [esp + 0x40]
push edx
call fcn.004056b0
add esp, 4
test eax, eax
jne 0x40525b
push str.MSG_ERR_GET_SVRFILE
call fcn.00401430
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x244]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, edx
lea edx, [esp + 0x244]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, 0x450214
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebp, ecx
mov esi, edi
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0x244]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.__From:
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0x244]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x644]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0x244]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x450214
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
lea edx, [esp + 0x244]
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
push str.MSG_SURE_TRY_AGAIN
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, str.__To:
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebp, ecx
mov esi, edi
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0x248]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x48]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0x248]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x450214
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00401430
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x240]
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0xe44]
test esi, esi
je 0x404d76
mov eax, dword [esi + 0x1c]
push 0x21
lea ecx, [esp + 0x244]
push str.Message
push ecx
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 1
jne 0x4052d9
jmp 0x404f04
lea edx, [esp + 0x40]
push edx
call fcn.004056b0
add esp, 4
test eax, eax
jne 0x40525b
push str.MSG_ERR_CREATE_FILE
call fcn.00401430
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x244]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, edx
lea edx, [esp + 0x244]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, 0x450214
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebp, ecx
mov esi, edi
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0x244]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.__To:
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0x244]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x44]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0x244]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x450214
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
push str.MSG_SURE_TRY_AGAIN
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00401430
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x240]
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0xe44]
test esi, esi
je 0x404ee5
mov eax, dword [esi + 0x1c]
push 0x21
lea ecx, [esp + 0x244]
push str.Message
push ecx
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 1
jne 0x4052d9
lea edx, [esp + 0x20]
lea eax, [esp + 0x40]
push edx
push eax
call fcn.00408440
add esp, 8
test eax, eax
je 0x40525b
jmp 0x404b6a
lea ecx, [esp + 0x40]
push ecx
call fcn.00408c40
lea edx, [esp + 0x24]
lea eax, [esp + 0x44]
push edx
push eax
call fcn.00408770
push 2
push ebx
call fcn.004263f0
mov ebp, eax
add esp, 0x14
test ebp, ebp
je 0x4050ae
push 2
push ebx
call fcn.00426490
add esp, 8
test eax, eax
jne 0x4050ae
push 0x450198
push 0x450198
push ebp
call fcn.00425d50
push 0x450198
push 0x450198
push ebp
call fcn.00425d50
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4050ae
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x40]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [edx + ecx + 0x10]
mov ecx, dword [esp + 0x10]
add eax, ecx
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jle 0x405017
add eax, 0x400
push eax
mov dword [esp + 0x1c], eax
call fcn.0041b740
mov ebx, eax
mov eax, dword [esp + 0x14]
add esp, 4
test eax, eax
jle 0x404ff8
mov edx, dword [esp + 0xe50]
mov ecx, eax
mov edi, ebx
mov esi, dword [edx]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0xe50]
mov eax, dword [esi]
test eax, eax
je 0x40500e
push eax
call fcn.0041b490
add esp, 4
mov dword [esi], ebx
mov ebx, dword [esp + 0xe48]
mov ecx, dword [esp + 0xe50]
mov edx, dword [esp + 0x10]
lea edi, [esp + 0x40]
xor eax, eax
mov esi, dword [ecx]
or ecx, 0xffffffff
add esi, edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x40]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ebp
lea edx, [edx + ecx + 1]
mov ecx, dword [esp + 0xe50]
mov esi, dword [ecx]
or ecx, 0xffffffff
add esi, edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [edx + ecx + 1]
mov ecx, dword [esp + 0xe50]
mov dword [esp + 0x10], edx
mov eax, dword [ecx]
mov byte [eax + edx], 0
push 2
push ebx
mov byte [esp + 0x648], 0
mov byte [esp + 0x248], 0
mov byte [esp + 0x48], 0
call fcn.004263f0
mov edi, eax
add esp, 8
test edi, edi
je 0x40512a
push 2
push ebx
call fcn.00426490
add esp, 8
test eax, eax
jne 0x40512a
push 0x450198
push 0x450198
push edi
call fcn.00425d50
push 0x450198
push 0x450198
push edi
call fcn.00425d50
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
lea edx, [esp + 0x640]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 2
push ebx
call fcn.004263f0
mov edi, eax
add esp, 8
test edi, edi
je 0x405191
push 2
push ebx
call fcn.00426490
add esp, 8
test eax, eax
jne 0x405191
push 0x450198
push 0x450198
push edi
call fcn.00425d50
push 0x450198
push 0x450198
push edi
call fcn.00425d50
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
lea edx, [esp + 0x240]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 2
push ebx
call fcn.004263f0
mov edi, eax
add esp, 8
test edi, edi
je 0x4051f5
push 2
push ebx
call fcn.00426490
add esp, 8
test eax, eax
jne 0x4051f5
push 0x450198
push 0x450198
push edi
call fcn.00425d50
push 0x450198
push 0x450198
push edi
call fcn.00425d50
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
lea edx, [esp + 0x40]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x640]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x40525b
lea edi, [esp + 0x240]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x40525b
lea ecx, [esp + 0xc40]
lea edx, [esp + 0x840]
push ecx
lea eax, [esp + 0xa44]
push edx
lea ecx, [esp + 0x248]
push eax
push ecx
call fcn.004053d0
lea edx, [esp + 0x50]
lea eax, [esp + 0x250]
push edx
lea ecx, [esp + 0x654]
push eax
push ecx
call fcn.004079a0
add esp, 0x1c
push 0
push ebx
call fcn.004263f0
push 0
push ebx
call fcn.00426490
add esp, 0x10
test eax, eax
je 0x404830
mov edx, dword [esp + 0xe44]
mov dword [0x455edc], 0x64
push edx
call fcn.00405c90
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe30
ret
push esi
call fcn.00405c90
add esp, 4
test esi, esi
je 0x4052b0
mov esi, dword [esi + 0x1c]
push 0x30
push str.Message
push str.MSG_USER_BREAK
call fcn.00401430
add esp, 4
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe30
ret
push esi
call fcn.00405c90
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe30
ret