Function at 0x47c5c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4de180
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x53d9f8]
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 eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push str.actions
mov dword [ebp - 0x4c], eax
call fcn.004c2b70
test eax, eax
je 0x47ce45
push str.action
mov ecx, eax
call fcn.004c2b70
mov ebx, eax
mov dword [ebp - 0x44], ebx
test ebx, ebx
je 0x47ce45
nop
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x28]
push eax
push 0x504338
push ebx
call fcn.0047c490
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.00476c10
add esp, 0x10
mov dword [ebp - 0x48], eax
cmp eax, 9
ja case.default.0x47c666
jmp dword [eax*4 + 0x47ce6c]
push 0x60
call fcn.004bedfd
mov esi, eax
add esp, 4
mov dword [ebp - 0x44], esi
test esi, esi
je 0x47c6eb
mov dword [esi + 4], 0xffffffff
xor eax, eax
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0xffffffff
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 7
mov word [esi + 0x20], ax
mov dword [esi + 0x38], 0xffffffff
mov dword [esi], vtable.kupdate::KResponse::ActionGetInfo.0
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], 7
mov word [esi + 0x3c], ax
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], eax
jmp 0x47c6ed
xor esi, esi
push str.infos
mov ecx, ebx
call fcn.004c2b70
mov edi, eax
test edi, edi
je 0x47ccf4
lea ecx, [esi + 0x3c]
push ecx
push str.verifycode
push edi
call fcn.0047c490
lea eax, [esi + 0x54]
push eax
push edi
call fcn.0047d640
add esp, 0x14
jmp 0x47ccf4
push 0x7c
call fcn.004bedfd
mov esi, eax
add esp, 4
mov dword [ebp - 0x44], esi
test esi, esi
je 0x47c7c1
mov dword [esi + 4], 0xffffffff
xor eax, eax
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0xffffffff
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 7
mov word [esi + 0x20], ax
mov dword [esi + 0x38], 0xffffffff
mov dword [esi], vtable.kupdate::KResponse::ActionDownload.0
mov dword [esi + 0x3c], eax
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], 7
mov word [esi + 0x40], ax
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], 7
mov word [esi + 0x58], ax
push esi
push ebx
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], eax
mov dword [esi + 0x78], eax
call fcn.0047d2c0
jmp 0x47ccf1
xor esi, esi
push esi
push ebx
call fcn.0047d2c0
jmp 0x47ccf1
push 0x60
call fcn.004bedfd
mov esi, eax
add esp, 4
mov dword [ebp - 0x44], esi
test esi, esi
je 0x47c84d
mov dword [esi + 4], 0xffffffff
xor eax, eax
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0xffffffff
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 7
mov word [esi + 0x20], ax
mov dword [esi + 0x38], 0xffffffff
mov dword [esi], vtable.kupdate::KResponse::ActionCollect.0
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], 7
mov word [esi + 0x3c], ax
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], eax
jmp 0x47c84f
xor esi, esi
push str.infos
mov ecx, ebx
call fcn.004c2b70
mov edi, eax
test edi, edi
je 0x47ccf4
lea ecx, [esi + 0x3c]
push ecx
push 0x50436c
jmp 0x47c70c
push 0x48
call fcn.004bedfd
mov esi, eax
add esp, 4
mov dword [ebp - 0x44], esi
test esi, esi
je 0x47c8ed
mov dword [esi + 4], 0xffffffff
xor eax, eax
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0xffffffff
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 7
mov word [esi + 0x20], ax
mov dword [esi + 0x38], 0xffffffff
mov dword [esi], vtable.kupdate::KResponse::ActionAdd.0
push esi
push ebx
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], eax
call fcn.0047cea0
jmp 0x47ccf1
xor esi, esi
push esi
push ebx
call fcn.0047cea0
jmp 0x47ccf1
push 0x48
call fcn.004bedfd
mov esi, eax
add esp, 4
mov dword [ebp - 0x44], esi
test esi, esi
je 0x47c975
mov dword [esi + 4], 0xffffffff
xor eax, eax
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0xffffffff
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 7
mov word [esi + 0x20], ax
mov dword [esi + 0x38], 0xffffffff
mov dword [esi], vtable.kupdate::KResponse::ActionDelete.0
push esi
push ebx
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], eax
call fcn.0047cea0
jmp 0x47ccf1
xor esi, esi
push esi
push ebx
call fcn.0047cea0
jmp 0x47ccf1
push 0x48
call fcn.004bedfd
mov esi, eax
add esp, 4
mov dword [ebp - 0x44], esi
test esi, esi
je 0x47c9fd
mov dword [esi + 4], 0xffffffff
xor eax, eax
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0xffffffff
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 7
mov word [esi + 0x20], ax
mov dword [esi + 0x38], 0xffffffff
mov dword [esi], vtable.kupdate::KResponse::ActionExecute.0
push esi
push ebx
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], eax
call fcn.0047d4b0
jmp 0x47ccf1
xor esi, esi
push esi
push ebx
call fcn.0047d4b0
jmp 0x47ccf1
push 0x48
call fcn.004bedfd
mov esi, eax
add esp, 4
mov dword [ebp - 0x44], esi
test esi, esi
je 0x47ca7b
mov dword [esi + 4], 0xffffffff
xor eax, eax
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0xffffffff
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 7
mov word [esi + 0x20], ax
mov dword [esi + 0x38], 0xffffffff
mov dword [esi], vtable.kupdate::KResponse::ActionUpdateSetting.0
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], eax
jmp 0x47ca7d
xor esi, esi
push str.infos
mov ecx, ebx
call fcn.004c2b70
test eax, eax
je 0x47ccf4
lea ecx, [esi + 0x3c]
push ecx
push eax
call fcn.0047d640
jmp 0x47ccf1
push 0x48
call fcn.004bedfd
mov esi, eax
add esp, 4
mov dword [ebp - 0x44], esi
test esi, esi
je 0x47cb1a
mov dword [esi + 4], 0xffffffff
xor eax, eax
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0xffffffff
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 7
mov word [esi + 0x20], ax
mov dword [esi + 0x38], 0xffffffff
mov dword [esi], vtable.kupdate::KResponse::ActionShowMessage.0
push esi
push ebx
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], eax
call fcn.0047d820
jmp 0x47ccf1
xor esi, esi
push esi
push ebx
call fcn.0047d820
jmp 0x47ccf1
push 0x48
call fcn.004bedfd
mov esi, eax
add esp, 4
mov dword [ebp - 0x50], esi
test esi, esi
je 0x47cb98
mov dword [esi + 4], 0xffffffff
xor eax, eax
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0xffffffff
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 7
mov word [esi + 0x20], ax
mov dword [esi + 0x38], 0xffffffff
mov dword [esi], vtable.kupdate::KResponse::ActionRestart.0
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], eax
jmp 0x47cb9a
xor esi, esi
push str.controlsvrs
mov ecx, ebx
call fcn.004c2b70
test eax, eax
je 0x47ccf4
push str.controlsvr
mov ecx, eax
call fcn.004c2b70
mov ebx, eax
test ebx, ebx
je 0x47cc70
jmp 0x47cbd0
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 1
push eax
push 0x504350
push ebx
call fcn.0047c490
mov eax, dword [esi + 0x40]
lea ecx, [ebp - 0x40]
add esp, 0xc
push ecx
cmp eax, dword [esi + 0x44]
je 0x47cc13
mov ecx, eax
call fcn.00413820
add dword [esi + 0x40], 0x18
jmp 0x47cc1c
push eax
lea ecx, [esi + 0x3c]
call fcn.0040e830
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0
cmp edx, 8
jb 0x47cc5a
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47cc50
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47ce63
push edx
push ecx
call fcn.004bee2d
add esp, 8
push str.controlsvr
mov ecx, ebx
call fcn.004c2fa0
mov ebx, eax
test ebx, ebx
jne 0x47cbd0
mov ebx, dword [ebp - 0x44]
jmp 0x47ccf4
push 0x48
call fcn.004bedfd
mov esi, eax
add esp, 4
mov dword [ebp - 0x50], esi
test esi, esi
je 0x47cce8
mov dword [esi + 4], 0xffffffff
xor eax, eax
mov dword [esi + 8], 0xffffffff
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0xffffffff
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 7
mov word [esi + 0x20], ax
mov dword [esi + 0x38], 0xffffffff
mov dword [esi], vtable.kupdate::KResponse::ActionDeskTopLink.0
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], eax
jmp 0x47ccea
xor esi, esi
push esi
push ebx
call fcn.0047d030
add esp, 8
test esi, esi
je case.default.0x47c666
mov eax, dword [ebp - 0x48]
mov ecx, ebx
mov dword [esi + 4], eax
lea eax, [ebp - 0x44]
push eax
push str.index
mov dword [ebp - 0x44], 0
call fcn.004c3790
test eax, eax
jne 0x47cd23
mov eax, dword [ebp - 0x44]
mov dword [esi + 8], eax
lea eax, [esi + 0xc]
push eax
push 0x5042f0
push ebx
call fcn.0047c3b0
lea eax, [esi + 0x10]
push eax
push str.wait
push ebx
call fcn.0047c3b0
lea eax, [esi + 0x14]
push eax
push str.showui
push ebx
call fcn.0047c3b0
lea eax, [esi + 0x18]
push eax
push str.forceupdate
push ebx
call fcn.0047c3b0
add esp, 0x30
mov dword [ebp - 0x44], 0
lea eax, [ebp - 0x44]
mov ecx, ebx
push eax
push str.needspace
call fcn.004c3790
test eax, eax
jne 0x47cd83
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x20]
push eax
push 0x5042fc
push ebx
call fcn.0047c490
add esp, 0xc
mov dword [ebp - 0x44], 0
lea eax, [ebp - 0x44]
mov ecx, ebx
or edi, 0xffffffff
push eax
push 0x504318
call fcn.004c3790
mov ecx, dword [ebp - 0x4c]
test eax, eax
mov dword [ebp - 0x48], esi
cmove edi, dword [ebp - 0x44]
add ecx, 0x18
mov dword [esi + 0x38], edi
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x47cdd1
mov dword [eax], esi
add dword [ecx + 4], 4
jmp case.default.0x47c666
lea edx, [ebp - 0x48]
push edx
push eax
call fcn.00451630
mov edx, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x47ce18
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47ce0e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47ce63
push edx
push ecx
call fcn.004bee2d
add esp, 8
xor eax, eax
mov dword [ebp - 0x18], 0
push str.action
mov ecx, ebx
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.004c2fa0
mov ebx, eax
mov dword [ebp - 0x44], ebx
test ebx, ebx
jne 0x47c620
idiv edi
push dword [ebx]
ror byte [ebx - 0x769b0bb3], 0xd
add byte [eax], al
add byte [eax], al
xor eax, eax
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.004bee49
mov esp, ebp
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
lea ecx, [ecx]
insd dword es:[edi], dx
mov byte [edi], 36
mov dword [edi], case.0x47c666.2
jae 0x47ce42
inc edi
add bl, bh
enter 0x47, 0xffffffffffffff83
leave
inc edi
add byte [ebx], cl
retf 0x47