Function at 0x460d80
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x487563
mov eax, dword fs:[0]
push eax
sub esp, 0x234
mov eax, dword [0x4bc00c]
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 edi, dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_AllocConsole]
push 0
push str.ConsoleWindowClass
call dword [sym.imp.USER32.dll_FindWindowA]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push ecx
mov ecx, esp
mov dword [ebp - 0x21c], esp
push dword [edi + 4]
call fcn.00402680
mov dword [ebp - 4], 0
push ecx
mov esi, esp
mov dword [ebp - 0x220], esp
mov dword [ebp - 0x22c], esi
call fcn.00403ac0
mov ecx, eax
test ecx, ecx
je 0x461b09
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 1
mov ecx, esi
push 0x49a948
call fcn.00402ee0
test al, al
jne 0x460e2d
push 0x49a948
mov ecx, esi
call fcn.0045fc60
mov byte [ebp - 4], 2
mov dword [ebp - 4], 0xffffffff
or ecx, 0xffffffff
call fcn.00462c10
add esp, 8
cmp dword [edi + 4], 0
je 0x461aeb
push 0x80
lea eax, [ebp - 0x210]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
call fcn.00403ac0
mov ecx, eax
test ecx, ecx
je 0x461b13
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x23c], eax
mov dword [ebp - 4], 3
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x23c]
call fcn.00402ee0
test al, al
jne 0x460ec6
lea ecx, [ebp - 0x210]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x460ea4
sub ecx, edx
lea eax, [ebp - 0x210]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x23c]
call fcn.004030f0
mov dword [ebp - 4], 4
mov esi, dword [ebp - 0x23c]
cmp dword [esi - 0xc], 0
jge 0x460ede
or eax, 0xffffffff
jmp 0x460efa
push 0x49a94c
push esi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
add esp, 8
test eax, eax
jne 0x460ef6
or eax, 0xffffffff
jmp 0x460efa
sub eax, esi
sar eax, 1
push dword [edi + 4]
shr eax, 0x1f
xor al, 1
mov dword [ebp - 0x214], eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esi, 0xfffffff0
mov dword [ebp - 0x234], esp
mov edi, eax
mov dword [ebp - 0x21c], esp
mov ecx, dword [esi]
mov edx, dword [ecx]
call dword [edx + 0x10]
cmp dword [esi + 0xc], 0
mov ecx, eax
lea eax, [esi + 0xc]
jl 0x460f3c
cmp ecx, dword [esi]
jne 0x460f3c
mov ebx, esi
lock inc dword [eax]
jmp 0x460f69
mov eax, dword [ecx]
push 2
push dword [esi + 4]
call dword [eax]
mov ebx, eax
test ebx, ebx
je 0x461b1d
mov eax, dword [esi + 4]
lea ecx, [ebx + 0x10]
mov dword [ebx + 4], eax
lea eax, [esi + 0x10]
mov edx, dword [esi + 4]
inc edx
push edx
push eax
call fcn.004031f0
add esp, 8
mov ecx, dword [ebp - 0x234]
lea eax, [ebx + 0x10]
mov dword [ecx], eax
mov byte [ebp - 4], 6
push ecx
mov ecx, esp
mov dword [ebp - 0x220], esp
push str.FileName_:
call fcn.0045fcf0
mov byte [ebp - 4], 7
mov byte [ebp - 4], 4
mov ecx, edi
call fcn.00462c10
add esp, 8
or ebx, 0xffffffff
cmp byte [ebp - 0x214], 0
jne 0x461a32
cmp edi, 0xf2
je 0x461071
cmp edi, 0x38f
je 0x461071
cmp edi, 0xe4
je 0x461071
cmp edi, 0x89
je 0x461071
cmp edi, 0xf1
je 0x461071
cmp edi, 0x95
je 0x461071
cmp edi, 0x96
je 0x461071
cmp edi, 0xab
je 0x461071
cmp edi, 0xbb
je 0x461071
cmp edi, 0xbf
je 0x461071
cmp edi, 0xc0
je 0x461071
cmp edi, 0xc1
je 0x461071
cmp edi, 0xc5
je 0x461071
cmp edi, 0xda
je 0x461071
cmp edi, 0xe0
je 0x461071
cmp edi, 0xf5
je 0x461071
cmp edi, 0xfa
je 0x461071
cmp edi, 0x255
je 0x461071
cmp edi, 0xfd
je 0x461071
cmp edi, 0x390
je 0x461071
cmp edi, 0xf8
jne 0x461a32
call fcn.00468330
cmp al, 1
jne 0x461a32
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x240]
call fcn.00402680
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x238]
push str.IAssistHelper64.exe
call fcn.0045fcf0
mov byte [ebp - 4], 9
lea eax, [ebp - 0x238]
push eax
lea edx, [ebp - 0x240]
lea ecx, [ebp - 0x228]
call fcn.0045f3b0
add esp, 4
mov byte [ebp - 4], 0xb
mov eax, ebx
mov edx, dword [ebp - 0x238]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4610f1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov dword [ebp - 0x214], esp
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
mov dword [ebp - 0x21c], esp
mov dword [ebp - 0x230], ecx
mov ecx, dword [ecx]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x230]
mov edx, eax
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x234], eax
jl 0x46113c
cmp edx, dword [ecx]
jne 0x46113c
mov eax, ecx
mov ecx, dword [ebp - 0x234]
lock inc dword [ecx]
jmp 0x461183
mov eax, dword [edx]
push 2
push dword [ecx + 4]
mov ecx, edx
call dword [eax]
mov edx, eax
mov dword [ebp - 0x218], edx
test edx, edx
je 0x461b22
mov ecx, dword [ebp - 0x230]
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
lea eax, [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x218]
inc edx
push edx
push eax
add ecx, 0x10
call fcn.004031f0
mov eax, dword [ebp - 0x218]
add esp, 8
mov ecx, dword [ebp - 0x214]
add eax, 0x10
mov dword [ecx], eax
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0xb
call fcn.00467760
mov dword [ebp - 0x214], esp
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
mov byte [ebp - 0x221], al
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x21c], esp
mov ecx, dword [ecx]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x218]
mov edx, eax
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x234], eax
jl 0x4611eb
cmp edx, dword [ecx]
jne 0x4611eb
mov eax, ecx
mov ecx, dword [ebp - 0x234]
lock inc dword [ecx]
jmp 0x461232
mov eax, dword [edx]
push 2
push dword [ecx + 4]
mov ecx, edx
call dword [eax]
mov edx, eax
mov dword [ebp - 0x230], edx
test edx, edx
je 0x461b27
mov ecx, dword [ebp - 0x218]
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
lea eax, [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x230]
inc edx
push edx
push eax
add ecx, 0x10
call fcn.004031f0
mov eax, dword [ebp - 0x230]
add esp, 8
mov ecx, dword [ebp - 0x214]
add eax, 0x10
mov dword [ecx], eax
mov byte [ebp - 4], 0x10
mov byte [ebp - 4], 0xb
call fcn.0046bd40
add esp, 4
cmp byte [ebp - 0x221], 0
je 0x4619b3
test al, al
je 0x4619b3
push ecx
mov dword [ebp - 0x22c], esp
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
mov dword [ebp - 0x21c], esp
mov dword [ebp - 0x218], ecx
mov ecx, dword [ecx]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x218]
mov edx, eax
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x214], eax
jl 0x4612ad
cmp edx, dword [ecx]
jne 0x4612ad
mov eax, ecx
mov ecx, dword [ebp - 0x214]
lock inc dword [ecx]
jmp 0x4612f4
mov eax, dword [edx]
push 2
push dword [ecx + 4]
mov ecx, edx
call dword [eax]
mov edx, eax
mov dword [ebp - 0x214], edx
test edx, edx
je 0x461b2c
mov ecx, dword [ebp - 0x218]
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
lea eax, [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x214]
inc edx
push edx
push eax
add ecx, 0x10
call fcn.004031f0
mov eax, dword [ebp - 0x214]
add esp, 8
mov ecx, dword [ebp - 0x22c]
add eax, 0x10
mov dword [ecx], eax
mov byte [ebp - 4], 0x12
push ecx
mov ecx, esp
mov dword [ebp - 0x220], esp
push str.IAssistHelper64_found_so_call_IAssistHelper64_and_exit_the_IAssistHelper
call fcn.0045fcf0
mov byte [ebp - 4], 0x13
mov byte [ebp - 4], 0xb
mov ecx, edi
call fcn.00462c10
add esp, 4
mov dword [ebp - 0x220], esp
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
mov dword [ebp - 0x21c], esp
mov dword [ebp - 0x214], ecx
mov ecx, dword [ecx]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x214]
mov edx, eax
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x22c], eax
jl 0x461372
cmp edx, dword [ecx]
jne 0x461372
mov eax, ecx
mov ecx, dword [ebp - 0x22c]
lock inc dword [ecx]
jmp 0x4613b9
mov eax, dword [edx]
push 2
push dword [ecx + 4]
mov ecx, edx
call dword [eax]
mov edx, eax
mov dword [ebp - 0x218], edx
test edx, edx
je 0x461b31
mov ecx, dword [ebp - 0x214]
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
lea eax, [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x218]
inc edx
push edx
push eax
add ecx, 0x10
call fcn.004031f0
mov eax, dword [ebp - 0x218]
add esp, 8
mov ecx, dword [ebp - 0x220]
add eax, 0x10
mov dword [ecx], eax
mov byte [ebp - 4], 0x15
push ecx
mov ecx, esp
mov dword [ebp - 0x220], esp
push str.This_iAssistHelper64_got_invoked
call fcn.0045fcf0
mov byte [ebp - 4], 0x16
mov byte [ebp - 4], 0xb
mov ecx, edi
call fcn.00462c10
add esp, 8
lea ecx, [ebp - 0x230]
call fcn.004027e0
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x230]
push edi
push 0x48d104
push eax
call fcn.004602b0
add esp, 0xc
lea ecx, [ebp - 0x214]
push 0x48db34
call fcn.0045fcf0
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x214]
push eax
lea edx, [ebp - 0x228]
lea ecx, [ebp - 0x21c]
call fcn.0045f3b0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x230]
push ecx
mov edx, eax
lea ecx, [ebp - 0x238]
call fcn.0045f3b0
add esp, 8
mov byte [ebp - 4], 0x1a
mov edx, dword [eax]
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
mov dword [ebp - 0x218], ecx
lea eax, [edx - 0x10]
mov dword [ebp - 0x220], eax
lea eax, [edx - 0x10]
cmp eax, ecx
je 0x4614e3
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x22c], eax
jl 0x4614d4
mov eax, dword [edx - 0x10]
cmp eax, dword [ecx]
jne 0x4614d4
mov ecx, dword [ebp - 0x220]
call fcn.00403090
mov edx, dword [ebp - 0x22c]
mov ecx, ebx
mov dword [ebp - 0x220], eax
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4614c9
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x220]
add eax, 0x10
mov dword [ebp - 0x228], eax
jmp 0x4614e3
push dword [edx - 0xc]
lea ecx, [ebp - 0x228]
push edx
call fcn.004030f0
mov byte [ebp - 4], 0x19
mov eax, ebx
mov edx, dword [ebp - 0x238]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x461504
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x18
mov eax, ebx
mov edx, dword [ebp - 0x21c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x461525
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x17
mov eax, ebx
mov edx, dword [ebp - 0x214]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x461546
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov dword [ebp - 0x220], esp
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
mov dword [ebp - 0x22c], esp
mov dword [ebp - 0x214], ecx
mov ecx, dword [ecx]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x214]
mov edx, eax
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x21c], eax
jl 0x461591
cmp edx, dword [ecx]
jne 0x461591
mov eax, ecx
mov ecx, dword [ebp - 0x21c]
lock inc dword [ecx]
jmp 0x4615d8
mov eax, dword [edx]
push 2
push dword [ecx + 4]
mov ecx, edx
call dword [eax]
mov edx, eax
mov dword [ebp - 0x218], edx
test edx, edx
je 0x461b36
mov ecx, dword [ebp - 0x214]
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
lea eax, [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x218]
inc edx
push edx
push eax
add ecx, 0x10
call fcn.004031f0
mov eax, dword [ebp - 0x218]
add esp, 8
mov ecx, dword [ebp - 0x220]
add eax, 0x10
mov dword [ecx], eax
mov byte [ebp - 4], 0x1f
push ecx
mov ecx, esp
mov dword [ebp - 0x21c], esp
push str.utils_execute_command
call fcn.0045fcf0
mov byte [ebp - 4], 0x20
mov byte [ebp - 4], 0x17
or ecx, 0xffffffff
call fcn.00462c10
add esp, 4
mov byte [ebp - 0x221], 1
mov dword [ebp - 0x220], esp
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
mov dword [ebp - 0x22c], esp
mov dword [ebp - 0x214], ecx
mov ecx, dword [ecx]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x214]
mov edx, eax
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x21c], eax
jl 0x46165e
cmp edx, dword [ecx]
jne 0x46165e
mov eax, ecx
mov ecx, dword [ebp - 0x21c]
lock inc dword [ecx]
jmp 0x4616a5
mov eax, dword [edx]
push 2
push dword [ecx + 4]
mov ecx, edx
call dword [eax]
mov edx, eax
mov dword [ebp - 0x218], edx
test edx, edx
je 0x461b3b
mov ecx, dword [ebp - 0x214]
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
lea eax, [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x218]
inc edx
push edx
push eax
add ecx, 0x10
call fcn.004031f0
mov eax, dword [ebp - 0x218]
add esp, 8
mov ecx, dword [ebp - 0x220]
add eax, 0x10
mov dword [ecx], eax
mov byte [ebp - 4], 0x22
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x234]
mov dl, byte [ebp - 0x221]
call fcn.004642f0
mov byte [ebp - 4], 0x23
mov dword [ebp - 0x220], esp
mov ecx, dword [ebp - 0x234]
add ecx, 0xfffffff0
mov dword [ebp - 0x22c], esp
mov dword [ebp - 0x214], ecx
mov ecx, dword [ecx]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x214]
mov edx, eax
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x21c], eax
jl 0x461717
cmp edx, dword [ecx]
jne 0x461717
mov eax, ecx
mov ecx, dword [ebp - 0x21c]
lock inc dword [ecx]
jmp 0x46175e
mov eax, dword [edx]
push 2
push dword [ecx + 4]
mov ecx, edx
call dword [eax]
mov edx, eax
mov dword [ebp - 0x218], edx
test edx, edx
je 0x461b40
mov ecx, dword [ebp - 0x214]
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
lea eax, [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x218]
inc edx
push edx
push eax
add ecx, 0x10
call fcn.004031f0
mov eax, dword [ebp - 0x218]
add esp, 8
mov ecx, dword [ebp - 0x220]
add eax, 0x10
mov dword [ecx], eax
mov byte [ebp - 4], 0x25
push ecx
mov ecx, esp
mov dword [ebp - 0x21c], esp
push str.utils_execute_command_after_result
call fcn.0045fcf0
mov byte [ebp - 4], 0x26
mov byte [ebp - 4], 0x23
or ecx, 0xffffffff
call fcn.00462c10
add esp, 4
mov dword [ebp - 0x220], esp
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
mov dword [ebp - 0x22c], esp
mov dword [ebp - 0x214], ecx
mov ecx, dword [ecx]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x214]
mov edx, eax
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x21c], eax
jl 0x4617dd
cmp edx, dword [ecx]
jne 0x4617dd
mov eax, ecx
mov ecx, dword [ebp - 0x21c]
lock inc dword [ecx]
jmp 0x461824
mov eax, dword [edx]
push 2
push dword [ecx + 4]
mov ecx, edx
call dword [eax]
mov edx, eax
mov dword [ebp - 0x218], edx
test edx, edx
je 0x461b45
mov ecx, dword [ebp - 0x214]
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
lea eax, [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x218]
inc edx
push edx
push eax
add ecx, 0x10
call fcn.004031f0
mov eax, dword [ebp - 0x218]
add esp, 8
mov ecx, dword [ebp - 0x220]
add eax, 0x10
mov dword [ecx], eax
mov byte [ebp - 4], 0x28
push ecx
mov ecx, esp
mov dword [ebp - 0x21c], esp
push str.This_iAssistHelper64_got_invoked_after_the_shell_execute_command
call fcn.0045fcf0
mov byte [ebp - 4], 0x29
mov byte [ebp - 4], 0x23
mov ecx, edi
call fcn.00462c10
add esp, 4
mov dword [ebp - 0x220], esp
mov ecx, dword [ebp - 0x228]
add ecx, 0xfffffff0
mov dword [ebp - 0x22c], esp
mov dword [ebp - 0x214], ecx
mov ecx, dword [ecx]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x214]
mov edx, eax
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x21c], eax
jl 0x4618a2
cmp edx, dword [ecx]
jne 0x4618a2
mov eax, ecx
mov ecx, dword [ebp - 0x21c]
lock inc dword [ecx]
jmp 0x4618e9
mov eax, dword [edx]
push 2
push dword [ecx + 4]
mov ecx, edx
call dword [eax]
mov edx, eax
mov dword [ebp - 0x218], edx
test edx, edx
je 0x461b4a
mov ecx, dword [ebp - 0x214]
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
lea eax, [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x218]
inc edx
push edx
push eax
add ecx, 0x10
call fcn.004031f0
mov eax, dword [ebp - 0x218]
add esp, 8
mov ecx, dword [ebp - 0x220]
add eax, 0x10
mov dword [ecx], eax
mov byte [ebp - 4], 0x2b
push ecx
mov ecx, esp
mov dword [ebp - 0x21c], esp
push str.Helper_exit
call fcn.0045fcf0
mov byte [ebp - 4], 0x2c
mov byte [ebp - 4], 0x23
mov ecx, edi
call fcn.00462c10
add esp, 8
mov byte [ebp - 4], 0x17
mov eax, ebx
mov edx, dword [ebp - 0x234]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x46193e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
mov eax, ebx
mov edx, dword [ebp - 0x230]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x46195f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
mov eax, ebx
mov edx, dword [ebp - 0x228]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x461980
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
mov eax, ebx
mov edx, dword [ebp - 0x240]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4619a1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
lock xadd dword [esi + 0xc], ebx
dec ebx
jmp 0x461adf
push ecx
mov ecx, esp
mov dword [ebp - 0x21c], esp
push 0x48e2cc
call fcn.0045fcf0
mov byte [ebp - 4], 0x32
push ecx
mov ecx, esp
mov dword [ebp - 0x220], esp
push str.IAssistHelper64_not_found
call fcn.0045fcf0
mov byte [ebp - 4], 0x33
mov byte [ebp - 4], 0xb
or ecx, 0xffffffff
call fcn.00462c10
add esp, 8
mov byte [ebp - 4], 8
mov eax, ebx
mov edx, dword [ebp - 0x228]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x461a11
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
mov eax, ebx
mov edx, dword [ebp - 0x240]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x461a32
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
mov dword [ebp - 0x22c], esp
push str.called
call fcn.0045fcf0
mov byte [ebp - 4], 0x36
push ecx
mov dword [ebp - 0x220], esp
mov ecx, dword [esi]
mov dword [ebp - 0x234], esp
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
mov ecx, eax
jl 0x461a73
cmp ecx, dword [esi]
jne 0x461a73
mov eax, esi
lock inc dword [edx]
jmp 0x461aac
mov eax, dword [ecx]
push 2
push dword [esi + 4]
call dword [eax]
mov ecx, eax
mov dword [ebp - 0x21c], ecx
test ecx, ecx
je 0x461b4f
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
lea eax, [esi + 0x10]
mov edx, dword [esi + 4]
add ecx, 0x10
inc edx
push edx
push eax
call fcn.004031f0
mov eax, dword [ebp - 0x21c]
add esp, 8
mov ecx, dword [ebp - 0x220]
add eax, 0x10
mov dword [ecx], eax
mov byte [ebp - 4], 0x38
mov byte [ebp - 4], 4
mov ecx, edi
call fcn.00462c10
add esp, 8
mov ecx, edi
call fcn.00403e30
mov dword [ebp - 4], 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x461aeb
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
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.00471083
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00403880
push 0x80004005
call fcn.00403880
call fcn.004031e0
call fcn.004031e0
call fcn.004031e0
call fcn.004031e0
call fcn.004031e0
call fcn.004031e0
call fcn.004031e0
call fcn.004031e0
call fcn.004031e0
call fcn.004031e0
call fcn.004031e0
int3