Function at 0x424440
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fd248
mov eax, dword fs:[0]
push eax
sub esp, 0x18
mov eax, dword [0x519008]
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], vtable.rhea::NullLogger.0
push 0x168
mov dword [ebp - 4], 0
call fcn.00403d9d
push 0x168
mov edi, eax
push 0
push edi
mov dword [ebp - 0x24], edi
call fcn.00405490
xor eax, eax
mov dword [edi], vtable.cpubridge::CPUChannelFakeCPU.0
mov byte [edi + 4], 1
lea esi, [edi + 0x20]
mov dword [edi + 8], 1
mov dword [edi + 0xc], 2
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0xb8], eax
mov dword [edi + 0xbc], eax
mov dword [edi + 0xc0], eax
mov dword [edi + 0xc4], eax
mov dword [edi + 0xc8], eax
mov dword [edi + 0xcc], eax
mov dword [edi + 0xf0], eax
mov dword [edi + 0xf4], eax
mov dword [edi + 0x100], eax
mov dword [edi + 0x104], eax
mov dword [edi + 0x108], eax
mov dword [edi + 0x10c], eax
mov dword [edi + 0x110], eax
mov dword [edi + 0x114], eax
mov dword [edi + 0x118], eax
push 0x42
mov dword [edi + 0x11c], eax
push eax
mov dword [edi + 0x120], eax
push esi
mov dword [edi + 0x124], eax
call fcn.00405490
push 0x42
lea ebx, [edi + 0x62]
push 0
push ebx
call fcn.00405490
add esp, 0x28
xor eax, eax
mov edx, esi
mov word [esi], ax
mov ecx, str.CPU_msg_example_1
call fcn.004f4ed0
xor eax, eax
mov edx, ebx
mov ecx, str.CPU_msg_example_1
mov word [ebx], ax
call fcn.004f4ed0
xor cl, cl
lea edx, [edi + 0x128]
mov esi, 0x3e8
movzx eax, cl
lea edx, [edx + 2]
add ax, si
inc cl
mov word [edx - 2], ax
cmp cl, 0x20
jb 0x424572
mov dword [edi + 0xa4], ebx
xor eax, eax
mov byte [edi + 0xa8], 1
mov dword [edi + 0xb0], 0
mov dword [edi + 0xb4], 0
push 0x64
mov byte [edi + 0xd2], 0
mov word [edi + 0xd0], ax
mov dword [edi + 0xd8], eax
mov dword [edi + 0xdc], eax
call fcn.00401860
add eax, 0x64
mov word [edi + 0xd0], ax
xor eax, eax
push 0x64
mov byte [edi + 0xe2], 0
mov word [edi + 0xe0], ax
mov dword [edi + 0xe8], eax
mov dword [edi + 0xec], eax
call fcn.00401860
add eax, 0x64
mov word [edi + 0xe0], ax
lea eax, [ebp - 0x14]
push str.CPUChannelFakeCPU::open_n
mov dword [edi + 0xf8], 0
mov dword [edi + 0xfc], 0
push eax
mov eax, dword [ebp - 0x14]
call dword [eax + 0xc]
mov eax, dword [ebp - 0x14]
add esp, 8
cmp eax, vtable.rhea::NullLogger.0
jne 0x424d4c
lea ecx, [ebp - 0x14]
push 0x50b7f4
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp - 0x14]
add esp, 8
cmp eax, vtable.rhea::NullLogger.0
jne 0x424d5a
mov eax, 0xffff
lea edx, [ebp - 0x14]
mov word [ebp - 0x18], ax
mov ecx, edi
mov word [ebp - 0x18], ax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.004391d0
add esp, 8
test al, al
je 0x42469e
lea eax, [ebp - 0x20]
push eax
sub esp, 8
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x14]
call fcn.00446ed0
add esp, 0xc
test al, al
jne 0x4246bc
push str.ERROR:_cant_open_socket_n.
call fcn.00401110
add esp, 4
xor al, al
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.00403d8c
mov esp, ebp
pop ebp
ret
mov eax, dword [0x51e8d4]
mov edi, dword [eax + 0xe8]
mov ecx, dword [edi + 0x18]
lea esi, [edi + 4]
mov eax, ecx
mov ebx, dword [edi + 0x14]
cmp ecx, 2
jae 0x4246f2
cmp ecx, 0x20
jae 0x4246f2
push 0x100
mov ecx, esi
mov dword [esi + 0x14], 0x20
call fcn.0042a060
mov eax, dword [esi + 0x14]
cmp ebx, eax
jb 0x424719
mov ecx, eax
shr ecx, 1
add ecx, eax
cmp ecx, eax
jbe 0x424715
lea eax, [ecx*8]
mov dword [esi + 0x14], ecx
push eax
mov ecx, esi
call fcn.0042a060
mov eax, dword [esi + 0x14]
cmp ebx, eax
jae 0x4246f6
cmp ebx, dword [esi + 0x10]
jb 0x424724
lea eax, [ebx + 1]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 4]
mov dword [eax + ebx*8], 0x401280
mov ecx, dword [edi]
xor edi, edi
mov dword [ebp - 0x20], ecx
inc edi
cmp byte [edi + str.copyFolderToFolder], 0
jne 0x424735
test edi, edi
je 0x4247e8
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x1c], edx
lea edx, [edi + 1]
cmp eax, vtable.rhea::AllocatorSimple_class_rhea::AllocatorTrackingPolicy_simple_.0
jne 0x4247be
lea eax, [edx + 3]
and eax, 0xfffffffc
add eax, 8
push 4
push eax
mov dword [ebp - 0x1c], eax
call fcn.0040bee4
mov ecx, dword [ebp - 0x20]
add esp, 8
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
add dword [ecx + 0x1c], edx
inc dword [ecx + 0x18]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ecx + 0x20]
jbe 0x42478a
mov dword [ecx + 0x20], eax
mov al, byte [ecx + 0x15]
mov edx, dword [ebp - 0x18]
mov byte [edx + 2], al
mov al, byte [ecx + 0x14]
mov ecx, edx
mov edx, dword [ebp - 0x1c]
mov byte [ecx + 3], al
mov eax, edx
shr eax, 0x18
mov byte [ecx + 4], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 5], al
mov eax, edx
shr eax, 8
mov byte [ecx + 6], al
lea eax, [ecx + 8]
mov byte [ecx + 7], dl
jmp 0x4247cd
push 0
push 0
push 0x503d60
push 4
push edx
call dword [ebp - 0x1c]
push edi
push str.copyFolderToFolder
push eax
mov dword [ebp - 0x18], eax
call fcn.00407040
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov byte [eax + edi], 0
mov edi, eax
mov ecx, dword [esi + 0x14]
mov eax, ecx
cmp ecx, 2
jae 0x42480d
cmp ecx, 0x20
jae 0x42480d
push 0x100
mov ecx, esi
mov dword [esi + 0x14], 0x20
call fcn.0042a060
mov eax, dword [esi + 0x14]
cmp ebx, eax
jb 0x424834
mov ecx, eax
shr ecx, 1
add ecx, eax
cmp ecx, eax
jbe 0x424830
lea eax, [ecx*8]
mov dword [esi + 0x14], ecx
push eax
mov ecx, esi
call fcn.0042a060
mov eax, dword [esi + 0x14]
cmp ebx, eax
jae 0x424811
cmp ebx, dword [esi + 0x10]
jb 0x42483f
lea eax, [ebx + 1]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 4]
mov dword [eax + ebx*8 + 4], edi
mov eax, dword [0x51e8d4]
mov edi, dword [eax + 0xe8]
mov ecx, dword [edi + 0x18]
lea esi, [edi + 4]
mov eax, ecx
mov ebx, dword [edi + 0x14]
cmp ecx, 2
jae 0x42487c
cmp ecx, 0x20
jae 0x42487c
push 0x100
mov ecx, esi
mov dword [esi + 0x14], 0x20
call fcn.0042a060
mov eax, dword [esi + 0x14]
cmp ebx, eax
jb 0x4248a3
mov ecx, eax
shr ecx, 1
add ecx, eax
cmp ecx, eax
jbe 0x42489f
lea eax, [ecx*8]
mov dword [esi + 0x14], ecx
push eax
mov ecx, esi
call fcn.0042a060
mov eax, dword [esi + 0x14]
cmp ebx, eax
jae 0x424880
cmp ebx, dword [esi + 0x10]
jb 0x4248ae
lea eax, [ebx + 1]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 4]
mov dword [eax + ebx*8], 0x401320
mov ecx, dword [edi]
xor edi, edi
mov dword [ebp - 0x20], ecx
nop
inc edi
cmp byte [edi + str.exportGUIToUserFolder], 0
jne 0x4248c0
test edi, edi
je 0x424973
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x1c], edx
lea edx, [edi + 1]
cmp eax, vtable.rhea::AllocatorSimple_class_rhea::AllocatorTrackingPolicy_simple_.0
jne 0x424949
lea eax, [edx + 3]
and eax, 0xfffffffc
add eax, 8
push 4
push eax
mov dword [ebp - 0x18], eax
call fcn.0040bee4
mov ecx, dword [ebp - 0x20]
add esp, 8
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
add dword [ecx + 0x1c], edx
inc dword [ecx + 0x18]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ecx + 0x20]
jbe 0x424915
mov dword [ecx + 0x20], eax
mov al, byte [ecx + 0x15]
mov edx, dword [ebp - 0x1c]
mov byte [edx + 2], al
mov al, byte [ecx + 0x14]
mov ecx, edx
mov edx, dword [ebp - 0x18]
mov byte [ecx + 3], al
mov eax, edx
shr eax, 0x18
mov byte [ecx + 4], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 5], al
mov eax, edx
shr eax, 8
mov byte [ecx + 6], al
lea eax, [ecx + 8]
mov byte [ecx + 7], dl
jmp 0x424958
push 0
push 0
push 0x503d60
push 4
push edx
call dword [ebp - 0x1c]
push edi
push str.exportGUIToUserFolder
push eax
mov dword [ebp - 0x18], eax
call fcn.00407040
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov byte [edi + eax], 0
mov edi, eax
mov ecx, dword [esi + 0x14]
mov eax, ecx
cmp ecx, 2
jae 0x424998
cmp ecx, 0x20
jae 0x424998
push 0x100
mov ecx, esi
mov dword [esi + 0x14], 0x20
call fcn.0042a060
mov eax, dword [esi + 0x14]
cmp ebx, eax
jb 0x4249c3
lea esp, [esp]
mov ecx, eax
shr ecx, 1
add ecx, eax
cmp ecx, eax
jbe 0x4249bf
lea eax, [ecx*8]
mov dword [esi + 0x14], ecx
push eax
mov ecx, esi
call fcn.0042a060
mov eax, dword [esi + 0x14]
cmp ebx, eax
jae 0x4249a0
cmp ebx, dword [esi + 0x10]
jb 0x4249ce
lea eax, [ebx + 1]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 4]
mov dword [eax + ebx*8 + 4], edi
mov eax, dword [0x51e8d4]
mov edi, dword [eax + 0xe8]
mov ecx, dword [edi + 0x18]
lea esi, [edi + 4]
mov eax, ecx
mov ebx, dword [edi + 0x14]
cmp ecx, 2
jae 0x424a0b
cmp ecx, 0x20
jae 0x424a0b
push 0x100
mov ecx, esi
mov dword [esi + 0x14], 0x20
call fcn.0042a060
mov eax, dword [esi + 0x14]
cmp ebx, eax
jb 0x424a33
nop
mov ecx, eax
shr ecx, 1
add ecx, eax
cmp ecx, eax
jbe 0x424a2f
lea eax, [ecx*8]
mov dword [esi + 0x14], ecx
push eax
mov ecx, esi
call fcn.0042a060
mov eax, dword [esi + 0x14]
cmp ebx, eax
jae 0x424a10
cmp ebx, dword [esi + 0x10]
jb 0x424a3e
lea eax, [ebx + 1]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 4]
mov dword [eax + ebx*8], 0x401390
mov ecx, dword [edi]
xor edi, edi
mov dword [ebp - 0x20], ecx
nop
inc edi
cmp byte [edi + str.deleteFolder], 0
jne 0x424a50
test edi, edi
je 0x424b03
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x1c], edx
lea edx, [edi + 1]
cmp eax, vtable.rhea::AllocatorSimple_class_rhea::AllocatorTrackingPolicy_simple_.0
jne 0x424ad9
lea eax, [edx + 3]
and eax, 0xfffffffc
add eax, 8
push 4
push eax
mov dword [ebp - 0x18], eax
call fcn.0040bee4
mov ecx, dword [ebp - 0x20]
add esp, 8
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
add dword [ecx + 0x1c], edx
inc dword [ecx + 0x18]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ecx + 0x20]
jbe 0x424aa5
mov dword [ecx + 0x20], eax
mov al, byte [ecx + 0x15]
mov edx, dword [ebp - 0x1c]
mov byte [edx + 2], al
mov al, byte [ecx + 0x14]
mov ecx, edx
mov edx, dword [ebp - 0x18]
mov byte [ecx + 3], al
mov eax, edx
shr eax, 0x18
mov byte [ecx + 4], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 5], al
mov eax, edx
shr eax, 8
mov byte [ecx + 6], al
lea eax, [ecx + 8]
mov byte [ecx + 7], dl
jmp 0x424ae8
push 0
push 0
push 0x503d60
push 4
push edx
call dword [ebp - 0x1c]
push edi
push str.deleteFolder
push eax
mov dword [ebp - 0x18], eax
call fcn.00407040
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov byte [edi + eax], 0
mov edi, eax
mov ecx, dword [esi + 0x14]
mov eax, ecx
cmp ecx, 2
jae 0x424b28
cmp ecx, 0x20
jae 0x424b28
push 0x100
mov ecx, esi
mov dword [esi + 0x14], 0x20
call fcn.0042a060
mov eax, dword [esi + 0x14]
cmp ebx, eax
jb 0x424b53
lea esp, [esp]
mov ecx, eax
shr ecx, 1
add ecx, eax
cmp ecx, eax
jbe 0x424b4f
lea eax, [ecx*8]
mov dword [esi + 0x14], ecx
push eax
mov ecx, esi
call fcn.0042a060
mov eax, dword [esi + 0x14]
cmp ebx, eax
jae 0x424b30
cmp ebx, dword [esi + 0x10]
jb 0x424b5e
lea eax, [ebx + 1]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 4]
mov dword [eax + ebx*8 + 4], edi
mov eax, dword [0x51e8d4]
mov edi, dword [eax + 0xe8]
mov ecx, dword [edi + 0x18]
lea esi, [edi + 4]
mov eax, ecx
mov ebx, dword [edi + 0x14]
cmp ecx, 2
jae 0x424b9b
cmp ecx, 0x20
jae 0x424b9b
push 0x100
mov ecx, esi
mov dword [esi + 0x14], 0x20
call fcn.0042a060
mov eax, dword [esi + 0x14]
cmp ebx, eax
jb 0x424bc3
nop
mov ecx, eax
shr ecx, 1
add ecx, eax
cmp ecx, eax
jbe 0x424bbf
lea eax, [ecx*8]
mov dword [esi + 0x14], ecx
push eax
mov ecx, esi
call fcn.0042a060
mov eax, dword [esi + 0x14]
cmp ebx, eax
jae 0x424ba0
cmp ebx, dword [esi + 0x10]
jb 0x424bce
lea eax, [ebx + 1]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 4]
mov dword [eax + ebx*8], 0x401400
mov ecx, dword [edi]
xor edi, edi
mov dword [ebp - 0x20], ecx
nop
inc edi
cmp byte [edi + str.importExistingGUI], 0
jne 0x424be0
test edi, edi
je 0x424c93
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x1c], edx
lea edx, [edi + 1]
cmp eax, vtable.rhea::AllocatorSimple_class_rhea::AllocatorTrackingPolicy_simple_.0
jne 0x424c69
lea eax, [edx + 3]
and eax, 0xfffffffc
add eax, 8
push 4
push eax
mov dword [ebp - 0x18], eax
call fcn.0040bee4
mov ecx, dword [ebp - 0x20]
add esp, 8
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
add dword [ecx + 0x1c], edx
inc dword [ecx + 0x18]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ecx + 0x20]
jbe 0x424c35
mov dword [ecx + 0x20], eax
mov al, byte [ecx + 0x15]
mov edx, dword [ebp - 0x1c]
mov byte [edx + 2], al
mov al, byte [ecx + 0x14]
mov ecx, edx
mov edx, dword [ebp - 0x18]
mov byte [ecx + 3], al
mov eax, edx
shr eax, 0x18
mov byte [ecx + 4], al
mov eax, edx
shr eax, 0x10
mov byte [ecx + 5], al
mov eax, edx
shr eax, 8
mov byte [ecx + 6], al
lea eax, [ecx + 8]
mov byte [ecx + 7], dl
jmp 0x424c78
push 0
push 0
push 0x503d60
push 4
push edx
call dword [ebp - 0x1c]
push edi
push str.importExistingGUI
push eax
mov dword [ebp - 0x18], eax
call fcn.00407040
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov byte [edi + eax], 0
mov edi, eax
mov ecx, dword [esi + 0x14]
mov eax, ecx
cmp ecx, 2
jae 0x424cb8
cmp ecx, 0x20
jae 0x424cb8
push 0x100
mov ecx, esi
mov dword [esi + 0x14], 0x20
call fcn.0042a060
mov eax, dword [esi + 0x14]
cmp ebx, eax
jb 0x424ce3
lea esp, [esp]
mov ecx, eax
shr ecx, 1
add ecx, eax
cmp ecx, eax
jbe 0x424cdf
lea eax, [ecx*8]
mov dword [esi + 0x14], ecx
push eax
mov ecx, esi
call fcn.0042a060
mov eax, dword [esi + 0x14]
cmp ebx, eax
jae 0x424cc0
cmp ebx, dword [esi + 0x10]
jb 0x424cee
lea eax, [ebx + 1]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 4]
push str.opening_chrome_n
mov dword [eax + ebx*8 + 4], edi
call fcn.00401110
add esp, 4
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0x51d7e0
push str.chrome.exe
push 0x51d5e0
push 1
call fcn.0040b252
add esp, 0x14
push 6
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x424d45
push 0xffffffffffffffff
push dword [eax]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov al, 1
jmp 0x4246a0
lea ecx, [ebp - 0x14]
call dword [eax + 4]
mov eax, dword [ebp - 0x14]
jmp 0x424635
lea ecx, [ebp - 0x14]
call dword [eax + 8]
jmp 0x424652