Function at 0x454540
Capabilities:
Delete file
Get common file path
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2364
call fcn.004b6c70
mov eax, dword [0x510620]
xor eax, esp
mov dword [esp + 0x2360], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [esp + 0xc], eax
mov eax, dword [0x51afb4]
push esi
push edi
test al, 1
jne 0x4545ac
or eax, 1
mov dword [0x51afd0], 7
mov dword [0x51afb4], eax
xor eax, eax
push 0x4dbb70
mov dword [0x51afcc], 0
mov word [0x51afbc], ax
mov dword [0x51afb8], 0x4e7088
call fcn.004957fd
add esp, 4
xor al, al
mov byte [esp + 0x11], 0
mov byte [esp + 0x12], al
mov byte [esp + 0x13], al
mov eax, dword [0x518934]
mov byte [esp + 0x10], 0
mov dword [esp + 0x34], 0
cmp eax, 1
jle 0x454c6c
mov ebx, dword [0x51893c]
mov edi, 1
mov esi, dword [ebx + edi*4]
lea eax, [ebx + edi*4]
mov dword [esp + 0xc0], eax
mov ecx, 0x4e86b4
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45461b
test dx, dx
je 0x454617
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45461b
add eax, 4
add ecx, 4
test dx, dx
jne 0x4545f5
xor eax, eax
jmp 0x454620
sbb eax, eax
or eax, 1
test eax, eax
je 0x454b8a
mov ecx, 0x4e86dc
mov eax, esi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454656
test dx, dx
je 0x454652
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454656
add eax, 4
add ecx, 4
test dx, dx
jne 0x454630
xor eax, eax
jmp 0x45465b
sbb eax, eax
or eax, 1
test eax, eax
je 0x454734
mov ecx, 0x4e86bc
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454696
test dx, dx
je 0x454692
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454696
add eax, 4
add ecx, 4
test dx, dx
jne 0x454670
xor eax, eax
jmp 0x45469b
sbb eax, eax
or eax, 1
test eax, eax
je 0x454734
mov ecx, 0x4e86c4
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4546d6
test dx, dx
je 0x4546d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4546d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4546b0
xor eax, eax
jmp 0x4546db
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4546f1
mov byte [esp + 0x11], 1
cmp byte [esp + 0x12], al
jne 0x454734
mov byte [esp + 0x10], 1
jmp 0x454734
mov ecx, 0x4e86cc
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45471e
test dx, dx
je 0x45471a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45471e
add eax, 4
add ecx, 4
test dx, dx
jne 0x4546f8
xor eax, eax
jmp 0x454723
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4547b5
mov byte [esp + 0x11], al
mov byte [esp + 0x10], 0
cmp dword [0x51afcc], 0
mov eax, dword [esp + 0xc0]
push dword [eax]
jne 0x454907
lea ecx, [esp + 0x90]
call fcn.00455d60
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x98]
mov ecx, 0x51afbc
push eax
call fcn.00402990
cmp dword [esp + 0xa4], 8
mov dword [esp + 0x8c], vtable.UString.0
jb 0x454790
push dword [esp + 0x90]
call fcn.00494c0b
add esp, 4
xor eax, eax
mov dword [esp + 0xa4], 7
mov dword [esp + 0xa0], 0
mov word [esp + 0x90], ax
jmp 0x454a0a
mov ecx, 0x4e86d4
mov eax, esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4547e6
test dx, dx
je 0x4547e2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4547e6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4547c0
xor eax, eax
jmp 0x4547eb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4547f9
mov byte [esp + 0x12], 1
jmp 0x45472f
mov ecx, 0x4ec928
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454826
test dx, dx
je 0x454822
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454826
add eax, 4
add ecx, 4
test dx, dx
jne 0x454800
xor eax, eax
jmp 0x45482b
sbb eax, eax
or eax, 1
test eax, eax
je 0x454a47
mov ecx, 0x4ec930
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454866
test dx, dx
je 0x454862
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454866
add eax, 4
add ecx, 4
test dx, dx
jne 0x454840
xor eax, eax
jmp 0x45486b
sbb eax, eax
or eax, 1
test eax, eax
je 0x454a47
mov ecx, 0x4ec944
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4548a6
test dx, dx
je 0x4548a2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4548a6
add eax, 4
add ecx, 4
test dx, dx
jne 0x454880
xor eax, eax
jmp 0x4548ab
sbb eax, eax
or eax, 1
test eax, eax
je 0x454a22
mov eax, str._userver
mov cx, word [esi]
cmp cx, word [eax]
jne 0x4548de
test cx, cx
je 0x4548da
mov cx, word [esi + 2]
cmp cx, word [eax + 2]
jne 0x4548de
add esi, 4
add eax, 4
test cx, cx
jne 0x4548b8
xor eax, eax
jmp 0x4548e3
sbb eax, eax
or eax, 1
test eax, eax
jne 0x454734
mov eax, dword [0x518934]
dec eax
cmp edi, eax
jge 0x454a10
mov edx, dword [ebx + edi*4 + 4]
inc edi
mov dword [esp + 0x34], edx
jmp 0x454a10
mov ebx, 0x51afbc
lea ecx, [esp + 0x74]
push 0x4e7d44
mov edx, ebx
call fcn.00406890
add esp, 4
lea ecx, [esp + 0xac]
mov edx, eax
call fcn.004069e0
add esp, 4
mov dword [esp + 0x54], vtable.UString.0
xor ecx, ecx
mov dword [esp + 0x6c], 7
mov word [esp + 0x58], cx
mov dword [esp + 0x68], 0
push 0xffffffffffffffff
push ecx
push eax
lea ecx, [esp + 0x64]
call fcn.00402990
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x60]
mov ecx, ebx
push eax
call fcn.00402990
cmp dword [esp + 0x6c], 8
mov dword [esp + 0x54], vtable.UString.0
jb 0x454987
push dword [esp + 0x58]
call fcn.00494c0b
add esp, 4
xor eax, eax
mov dword [esp + 0x6c], 7
cmp dword [esp + 0xbc], 8
mov dword [esp + 0x68], 0
mov word [esp + 0x58], ax
jb 0x4549b7
push dword [esp + 0xa8]
call fcn.00494c0b
add esp, 4
xor eax, eax
mov dword [esp + 0xbc], 7
cmp dword [esp + 0x84], 8
mov dword [esp + 0xb8], 0
mov word [esp + 0xa8], ax
jb 0x4549ed
push dword [esp + 0x70]
call fcn.00494c0b
add esp, 4
xor eax, eax
mov dword [esp + 0x84], 7
mov dword [esp + 0x80], 0
mov word [esp + 0x70], ax
mov ebx, dword [0x51893c]
inc edi
cmp edi, dword [0x518934]
jl 0x4545e1
jmp 0x454c6c
xor edx, edx
mov ecx, str.UClient__option__args_n_Option:_n__t_s:___
call fcn.0046faa0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2360]
xor ecx, esp
call fcn.00494c10
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebx + edi*4]
mov ecx, 0x4ec930
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x454a76
test dx, dx
je 0x454a72
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x454a76
add eax, 4
add ecx, 4
test dx, dx
jne 0x454a50
xor eax, eax
jmp 0x454a7b
sbb eax, eax
or eax, 1
mov ecx, dword [0x518934]
test eax, eax
sete bl
lea eax, [ecx - 1]
cmp edi, eax
jne 0x454aa9
mov eax, 2
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2360]
xor ecx, esp
call fcn.00494c10
mov esp, ebp
pop ebp
ret 0x10
xor eax, eax
mov dword [esp + 0xe8], 7
lea esi, [edi + 1]
mov dword [esp + 0xe4], 0
mov word [esp + 0xd4], ax
mov dword [esp + 0xd0], vtable.UString.0
cmp esi, ecx
jge 0x454b38
mov edi, dword [sym.imp.SHLWAPI.dll_StrCmpW]
mov eax, dword [0x51893c]
lea ecx, [esp + 0xd4]
push dword [eax + esi*4]
call fcn.00405df0
mov ecx, dword [esp + 0xe4]
cmp ecx, 5
jl 0x454b2f
cmp dword [esp + 0xe8], 8
lea eax, [esp + 0xd4]
push str..exe_
cmovae eax, dword [esp + 0xd8]
lea eax, [eax + ecx*2]
add eax, 0xfffffff6
push eax
call edi
test eax, eax
sete al
test al, al
jne 0x454b38
inc esi
cmp esi, dword [0x518934]
jl 0x454ae1
push 0
lea ecx, [esp + 0xd4]
call fcn.00455ed0
sub esp, 0x1c
lea eax, [esp + 0xec]
mov ecx, esp
push eax
call fcn.00413b10
mov cl, bl
call fcn.00455bf0
add esp, 0x1c
lea ecx, [esp + 0xd0]
call fcn.00416900
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2360]
xor ecx, esp
call fcn.00494c10
mov esp, ebp
pop ebp
ret 0x10
push dword [ebx + edi*4]
mov ebx, 0x51afbc
lea ecx, [esp + 0xd4]
push 0x4e7d44
mov edx, ebx
call fcn.00406890
add esp, 4
lea ecx, [esp + 0x1c]
mov edx, eax
call fcn.004069e0
add esp, 4
mov dword [esp + 0x38], vtable.UString.0
xor ecx, ecx
mov dword [esp + 0x50], 7
mov word [esp + 0x3c], cx
mov dword [esp + 0x4c], 0
push 0xffffffffffffffff
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.00402990
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x44]
mov ecx, ebx
push eax
call fcn.00402990
cmp dword [esp + 0x50], 8
mov dword [esp + 0x38], vtable.UString.0
jb 0x454c0d
push dword [esp + 0x3c]
call fcn.00494c0b
add esp, 4
xor eax, eax
mov dword [esp + 0x50], 7
cmp dword [esp + 0x2c], 8
mov dword [esp + 0x4c], 0
mov word [esp + 0x3c], ax
jb 0x454c37
push dword [esp + 0x18]
call fcn.00494c0b
add esp, 4
xor eax, eax
mov dword [esp + 0x2c], 7
cmp dword [esp + 0xe4], 8
mov dword [esp + 0x28], 0
mov word [esp + 0x18], ax
jb 0x454c67
push dword [esp + 0xd0]
call fcn.00494c0b
add esp, 4
mov byte [esp + 0x13], 1
call fcn.00455780
lea ecx, [esp + 0x120]
call fcn.004616e0
cmp dword [esp + 0x138], 8
lea edx, [esp + 0x124]
push 1
cmovae edx, dword [esp + 0x128]
lea ecx, [esp + 0x108]
call fcn.00461d00
mov edx, dword [esp + 0x11c]
lea eax, [esp + 0x10c]
add esp, 4
lea ecx, [esp + 0x108]
cmp dword [esp + 0x11c], 8
lea esi, [esp + 0x108]
cmovae eax, dword [esp + 0x108]
cmovae ecx, dword [esp + 0x108]
cmovae esi, dword [esp + 0x108]
lea eax, [eax + edx*2]
cmp ecx, eax
je 0x454d2a
mov ebx, eax
xor edi, edi
sub ebx, ecx
inc ebx
shr ebx, 1
cmp ecx, eax
cmova ebx, edi
test ebx, ebx
je 0x454d2a
sub ecx, esi
mov dword [esp + 0xc0], ecx
movzx eax, word [ecx + esi]
push eax
call fcn.0049596d
mov ecx, dword [esp + 0xc4]
lea esi, [esi + 2]
inc edi
mov word [esi - 2], ax
add esp, 4
cmp edi, ebx
jne 0x454d03
mov edx, dword [esp + 0x118]
cmp dword [esp + 0x11c], 8
lea ecx, [esp + 0x108]
mov esi, 0xf
cmovae ecx, dword [esp + 0x108]
cmp edx, esi
cmovb esi, edx
test esi, esi
je 0x454d6c
mov edx, str.uclient_new.exe
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x454d7c
add ecx, 2
add edx, 2
dec esi
jne 0x454d54
mov edx, dword [esp + 0x118]
xor eax, eax
test eax, eax
jne 0x454d9b
cmp edx, 0xf
jae 0x454d91
or eax, 0xffffffff
jmp 0x454d99
movzx eax, word [ecx]
cmp ax, word [edx]
mov edx, dword [esp + 0x118]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x454d6e
xor eax, eax
cmp edx, 0xf
setne al
test eax, eax
sete al
test al, al
je 0x454ec3
lea ecx, [esp + 0xd0]
call fcn.00461720
test eax, eax
je 0x454dbb
lea edx, [eax + 4]
jmp 0x454dbd
xor edx, edx
push 0x4ea2a0
lea ecx, [esp + 0x1c]
call fcn.004069e0
add esp, 4
mov dword [esp + method.UString.virtual_0], vtable.UString.0
xor ecx, ecx
mov dword [esp + 0x154], 7
mov word [esp + 0x140], cx
mov dword [esp + 0x150], 0
push 0xffffffffffffffff
push ecx
push eax
lea ecx, [esp + 0x14c]
call fcn.00402990
cmp dword [esp + 0x2c], 8
jb 0x454e1c
push dword [esp + 0x18]
call fcn.00494c0b
add esp, 4
xor eax, eax
mov dword [esp + 0x2c], 7
cmp dword [esp + 0xe8], 8
mov dword [esp + 0x28], 0
mov word [esp + 0x18], ax
mov dword [esp + 0xd0], vtable.UString.0
jb 0x454e57
push dword [esp + 0xd4]
call fcn.00494c0b
add esp, 4
sub esp, 0x1c
xor eax, eax
mov esi, esp
xor bl, bl
lea ecx, [esi + 4]
mov dword [ecx + 0x14], 7
push 0xffffffffffffffff
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [esp + 0x164]
push eax
call fcn.00402990
mov cl, bl
mov dword [esi], vtable.UString.0
call fcn.00455bf0
add esp, 0x1c
mov dword [esp + method.UString.virtual_0], vtable.UString.0
cmp dword [esp + 0x154], 8
jb 0x455219
push dword [esp + 0x140]
call fcn.00494c0b
add esp, 4
xor edi, edi
jmp 0x4556ff
lea ecx, [esp + 0x70]
call fcn.00461720
test eax, eax
je 0x454ed5
lea edx, [eax + 4]
jmp 0x454ed7
xor edx, edx
push str.UClient_new.exe
lea ecx, [esp + 0x1c]
call fcn.004069e0
add esp, 4
mov dword [esp + 0xd0], vtable.UString.0
xor ecx, ecx
mov dword [esp + 0xe8], 7
mov word [esp + 0xd4], cx
mov dword [esp + 0xe4], 0
push 0xffffffffffffffff
push ecx
push eax
lea ecx, [esp + 0xe0]
call fcn.00402990
cmp dword [esp + 0x2c], 8
jb 0x454f36
push dword [esp + 0x18]
call fcn.00494c0b
add esp, 4
xor eax, eax
mov dword [esp + 0x2c], 7
cmp dword [esp + 0x88], 8
mov dword [esp + 0x28], 0
mov word [esp + 0x18], ax
mov dword [esp + 0x70], vtable.UString.0
jb 0x454f6b
push dword [esp + 0x74]
call fcn.00494c0b
add esp, 4
cmp dword [esp + 0xe8], 8
lea eax, [esp + 0xd4]
cmovae eax, dword [esp + 0xd4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [esp + 0xe8], 8
mov dword [esp + 0xd0], vtable.UString.0
jb 0x454fad
push dword [esp + 0xd4]
call fcn.00494c0b
add esp, 4
call fcn.0042c5a0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x8c]
test eax, eax
je 0x4550ae
cmp eax, 0xffffffff
je 0x4550ae
mov ecx, dword [0x519de8]
push 5
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
test al, al
je 0x455018
push str.active_uclient...
lea eax, [esp + 0x36c]
push 0x1000
push eax
call fcn.0040b1a0
mov ecx, dword [0x519de8]
lea edx, [esp + 0x374]
add esp, 0xc
mov eax, dword [ecx]
push 0xad
push str.UClient.cpp
push edx
push 5
call dword [eax + 4]
xor esi, esi
lea ebx, [ebx]
push 0
push 1
push 0
xor edx, edx
mov ecx, 0x4eba20
call fcn.00463250
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x45510a
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc0], 0x3e8
mov dword [esp + 0xc4], eax
call fcn.004544c0
inc esi
cmp esi, 2
jl 0x455020
mov ecx, dword [0x519de8]
push 5
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
test al, al
je 0x4550ae
push str.active_uclient_fail__then_start_new_uclient_process
lea eax, [esp + 0x36c]
push 0x1000
push eax
call fcn.0040b1a0
mov ecx, dword [0x519de8]
lea edx, [esp + 0x374]
add esp, 0xc
mov eax, dword [ecx]
push 0xc5
push str.UClient.cpp
push edx
push 5
call dword [eax + 4]
cmp byte [esp + 0x13], 0
je 0x455220
mov edx, 0x24
mov ecx, 0x4e85b8
call fcn.0046faa0
cmp eax, 6
jne 0x455220
call fcn.0042c5a0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xd0]
push str._c___ping_127.0.0.1__n_1___null__del___q___f
lea ecx, [esp + 0xd4]
call fcn.00455d60
lea ecx, [esp + 0x18]
call fcn.004616e0
test eax, eax
je 0x45518b
add eax, 4
jmp 0x45518d
mov eax, dword [0x51afcc]
test eax, eax
jne 0x45512f
push eax
push 0x8005
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
mov edi, 1
jmp 0x4556ff
cmp dword [0x51afd0], 8
lea eax, [eax*2 + 2]
xorps xmm0, xmm0
mov dword [esp + 0xc0], 0
movq qword [esp + 0xc4], xmm0
mov edx, 0x51afbc
cmovae edx, dword [0x51afbc]
mov dword [esp + 0xc4], eax
lea eax, [esp + 0xc0]
push eax
push 0
push 0x4a
push ecx
mov dword [esp + 0xd8], edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, 1
jmp 0x4556ff
xor eax, eax
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xe0]
call fcn.00405f60
push 1
push 0x4e7d48
mov ecx, eax
call fcn.00406030
cmp dword [esp + 0x30], 8
mov dword [esp + 0x18], vtable.UString.0
jb 0x4551c7
push dword [esp + 0x1c]
call fcn.00494c0b
add esp, 4
cmp dword [esp + 0xe8], 8
lea edx, [esp + 0xd4]
push 0
cmovae edx, dword [esp + 0xd8]
mov ecx, 0x4e8660
push 0
push 0
push 0
push 0
call fcn.00462e00
add esp, 0x14
mov dword [esp + 0xd0], vtable.UString.0
cmp dword [esp + 0xe8], 8
jb 0x455219
push dword [esp + 0xd4]
call fcn.00494c0b
add esp, 4
xor edi, edi
jmp 0x4556ff
xor eax, eax
xor bl, bl
push 0x20a
push eax
mov word [esp + 0x160], ax
lea eax, [esp + 0x162]
push eax
call fcn.0049aba0
add esp, 0xc
lea eax, [esp + 0x158]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0x1a
test eax, eax
movzx ebx, bl
mov ecx, 1
push 0
cmovne ebx, ecx
lea ecx, [esp + 0x12c]
push str.Temporary_Internet_Files_
call fcn.004061d0
test eax, eax
jg 0x455546
test bl, bl
je 0x4552a1
push 0
lea eax, [esp + 0x15c]
push eax
lea ecx, [esp + 0x128]
call fcn.00456250
test eax, eax
jns 0x455546
mov ebx, dword [esp + 0x14]
mov ecx, ebx
call fcn.00455950
call fcn.0042c5a0
mov ecx, dword [0x519de8]
mov esi, eax
push 5
mov edx, dword [ecx]
mov edx, dword [edx]
call edx
test al, al
je 0x4552fe
push str.start_uclient...
lea eax, [esp + 0x36c]
push 0x1000
push eax
call fcn.0040b1a0
mov ecx, dword [0x519de8]
lea edx, [esp + 0x374]
add esp, 0xc
mov eax, dword [ecx]
push 0xec
push str.UClient.cpp
push edx
push 5
call dword [eax + 4]
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x455313
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xa8]
jmp 0x455374
mov edx, str.ServerUrl
lea ecx, [esp + 0xd0]
call fcn.00445df0
cmp dword [esp + 0xe4], 0
je 0x455350
cmp dword [esp + 0xe8], 8
lea ecx, [esp + 0xd4]
mov eax, dword [esi]
cmovae ecx, dword [esp + 0xd4]
push ecx
mov ecx, esi
call dword [eax + 0xa8]
cmp dword [esp + 0xe8], 8
mov dword [esp + 0xd0], vtable.UString.0
jb 0x455374
push dword [esp + 0xd4]
call fcn.00494c0b
add esp, 4
call fcn.0042c5a0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xb4]
push 0x540
mov edi, 0x80004005
call fcn.004952af
mov esi, eax
add esp, 4
test esi, esi
je 0x4553b6
push 0x540
push 0
push esi
call fcn.0049aba0
add esp, 8
mov ecx, esi
call fcn.004159d0
mov esi, eax
jmp 0x4553b8
xor esi, esi
mov al, byte [esp + 0x10]
mov byte [esi + 0x525], al
mov al, byte [esp + 0x11]
push 0x6b
push ebx
mov byte [esi + 0x524], al
call dword [sym.imp.USER32.dll_LoadIconW]
mov ebx, eax
mov ecx, esi
push ebx
sub esp, 8
push 0xc70000
call fcn.004592b0
test al, al
je 0x4554b1
mov ecx, esi
call fcn.00459fb0
cmp dword [0x51afcc], 0
jne 0x45545f
mov ecx, dword [0x519de8]
push 5
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
mov edi, dword [ebp + 0x14]
test al, al
je 0x45544e
push edi
push str.show_window:__i
lea eax, [esp + 0x370]
push 0x1000
push eax
call fcn.0040b1a0
mov ecx, dword [0x519de8]
lea edx, [esp + 0x378]
add esp, 0x10
mov eax, dword [ecx]
push 0x101
push str.UClient.cpp
push edx
push 5
call dword [eax + 4]
push edi
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.00445b00
jmp 0x455499
xor eax, eax
cmp byte [0x5197c8], al
cmovne eax, dword [ebp + 0x14]
push eax
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_ShowWindow]
cmp dword [0x51afd0], 8
mov eax, 0x51afbc
cmovae eax, dword [0x51afbc]
push eax
push 0
push 0x471
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_PostMessageW]
push 0x6d
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
push 0
push eax
mov ecx, esi
call fcn.00459e10
mov edi, eax
call fcn.0042c5a0
push 1
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xd8]
mov ecx, esi
call fcn.00459d90
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [0x519de8]
push 5
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
test al, al
je 0x455523
push str.quit_uclient
lea eax, [esp + 0x36c]
push 0x1000
push eax
call fcn.0040b1a0
mov ecx, dword [0x519de8]
lea edx, [esp + 0x374]
add esp, 0xc
mov eax, dword [ecx]
push 0x112
push str.UClient.cpp
push edx
push 5
call dword [eax + 4]
mov ecx, dword [0x519848]
mov eax, dword [ecx]
call dword [eax + 0xc8]
call fcn.0046ee00
mov ecx, dword [0x519dc0]
mov eax, dword [ecx]
call dword [eax + 0x24]
jmp 0x4556ff
xor eax, eax
mov dword [esp + 0x100], 7
lea ecx, [esp + 0xec]
mov dword [esp + 0xfc], 0
mov word [esp + 0xec], ax
call fcn.00451d80
test al, al
je 0x4555d5
push 0x1a
push 0
push str.Temporary_Internet_Files_
lea ecx, [esp + 0xf8]
call fcn.004061d0
cmp eax, 0xffffffff
jne 0x4555ae
test bl, bl
je 0x4555d5
push 0
lea eax, [esp + 0x15c]
push eax
lea ecx, [esp + 0x128]
call fcn.00456250
test eax, eax
js 0x4555d5
cmp dword [esp + 0x100], 8
lea eax, [esp + 0xec]
mov dword [esp + 0xfc], 0
cmovae eax, dword [esp + 0xec]
xor ecx, ecx
mov word [eax], cx
cmp dword [esp + 0xfc], 0
jne 0x455698
push 0x4ea2a0
lea ecx, [esp + 0xd4]
call fcn.00452930
mov edx, eax
lea ecx, [esp + 0x1c]
call fcn.004069e0
mov esi, eax
add esp, 4
lea eax, [esp + 0xec]
cmp eax, esi
je 0x455655
cmp dword [esp + 0x100], 8
jb 0x455628
push dword [esp + 0xec]
call fcn.00494c0b
add esp, 4
xor eax, eax
mov dword [esp + 0x100], 7
push esi
lea ecx, [esp + 0xf0]
mov dword [esp + 0x100], 0
mov word [esp + 0xf0], ax
call fcn.00402370
cmp dword [esp + 0x2c], 8
jb 0x455668
push dword [esp + 0x18]
call fcn.00494c0b
add esp, 4
xor eax, eax
mov dword [esp + 0x2c], 7
cmp dword [esp + 0xe4], 8
mov dword [esp + 0x28], 0
mov word [esp + 0x18], ax
jb 0x455698
push dword [esp + 0xd0]
call fcn.00494c0b
add esp, 4
sub esp, 0x1c
xor edx, edx
mov eax, esp
xor bl, bl
lea ecx, [eax + 4]
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
mov dword [eax], vtable.UString.0
xor eax, eax
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], edx
push eax
mov word [ecx], ax
lea eax, [esp + 0x110]
push eax
call fcn.00402990
mov cl, bl
call fcn.00455bf0
add esp, 0x1c
cmp dword [esp + 0x100], 8
jb 0x4556fa
push dword [esp + 0xec]
call fcn.00494c0b
add esp, 4
mov edi, 3
cmp dword [esp + 0x11c], 8
mov dword [esp + method.UString.virtual_0], vtable.UString.0
jb 0x455723
push dword [esp + 0x108]
call fcn.00494c0b
add esp, 4
xor eax, eax
mov dword [esp + 0x11c], 7
cmp dword [esp + 0x138], 8
mov dword [esp + 0x118], 0
mov word [esp + 0x108], ax
mov dword [esp + method.UString.virtual_0], vtable.UString.0
jb 0x455767
push dword [esp + 0x124]
call fcn.00494c0b
add esp, 4
mov ecx, dword [esp + 0x236c]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00494c10
mov esp, ebp
pop ebp
ret 0x10