Function at 0x468e40
Capabilities:
Create process on windows
Create thread
Terminate thread

Disassembly:
sub esp, 0x38
mov eax, dword [0x67c3c0]
xor eax, esp
mov dword [esp + 0x34], eax
imul eax, dword [0x66b030], 0xe2c
push esi
push edi
push 0
mov edi, ecx
push dword [eax + 0x66ba60]
call fcn.0043c8d0
call fcn.00439230
imul eax, dword [0x66b030], 0xe2c
lea esi, [edi + 0x21c]
push esi
push dword [eax + 0x66b928]
call fcn.00431e50
add esp, 0x10
test al, al
je 0x462c0c
cmp dword [edi + 0x218], 0xf
lea eax, [edi + 0x204]
jbe 0x462c02
mov eax, dword [eax]
push esi
push eax
call fcn.00466620
add esp, 8
imul eax, dword [0x66b030], 0xe2c
lea ecx, [edi + 0x1bc]
push 0
push dword [eax + 0x66b9a0]
push dword [eax + 0x66b99c]
call fcn.00462a20
imul eax, dword [0x66b030], 0xe2c
lea esi, [edi + 0x1fc]
push esi
push dword [eax + 0x66b998]
call fcn.00431e50
add esp, 8
test al, al
je 0x462c6d
cmp dword [edi + 0x1f8], 0xf
lea eax, [edi + 0x1e4]
jbe 0x462c63
mov eax, dword [eax]
push esi
push eax
call fcn.00466620
add esp, 8
push 1
call fcn.0040a340
imul eax, dword [0x66b030], 0xe2c
lea esi, [edi + 0x1b8]
push esi
push dword [eax + 0x66bb20]
call fcn.00431e50
add esp, 0xc
test al, al
je 0x462cb2
cmp dword [edi + 0x1b4], 0xf
lea eax, [edi + 0x1a0]
jbe 0x462ca8
mov eax, dword [eax]
push esi
push eax
call fcn.00466620
add esp, 8
push ebx
push 1
call fcn.0040caa0
mov dword [esp], 0xbf800000
push ecx
mov dword [esp], 0
call fcn.004181d0
imul eax, dword [0x66b030], 0xe2c
push dword [eax + 0x66bb24]
call fcn.0044a790
call fcn.00437ac0
imul eax, dword [0x66b030], 0xe2c
push 0
push dword [eax + 0x66bba0]
call fcn.0043c8d0
add esp, 0x14
call fcn.00439230
mov eax, dword [edi + 0xe4]
lea ebx, [edi + 0xe4]
mov ecx, ebx
call dword [eax + 4]
push 0
push str.Dark
push str.Theme:
mov eax, dword [eax]
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.00462a20
test al, al
je 0x462d86
mov eax, dword [ebx]
mov ecx, ebx
mov dword [esp + 0x34], 0
call dword [eax + 4]
cmp dword [eax], 2
jle 0x463134
mov ecx, edi
call fcn.004689b0
cmp dword [esp + 0x3c], 2
seta cl
mov byte [edi], cl
mov eax, dword [edi + 8]
mov edx, dword [edi + 4]
sub eax, edx
test eax, 0xfffffff8
jne 0x4630f9
mov edx, dword [ebx]
lea eax, [esp + 0x34]
test cl, cl
lea esi, [esp + 0x3c]
mov ecx, ebx
cmove eax, esi
push eax
call dword [edx + 0xc]
cmp byte [edi], 0
je 0x462e61
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
sub eax, ecx
test eax, 0xfffffff8
je 0x462e61
mov eax, dword [edi + 0x10]
push 0
push dword [ecx + eax*8]
push str.themes_user
call fcn.004309a0
add esp, 0xc
test al, al
je 0x462e61
mov eax, dword [edi + 8]
xor ebx, ebx
mov ecx, dword [edi + 4]
sub eax, ecx
sar eax, 3
test eax, eax
je 0x462e5c
push ebp
mov ebp, dword [edi + 0x10]
lea eax, [esp + 0x38]
push 0
push 0
push eax
cmp ebx, ebp
mov dword [esp + 0x44], 0
push 0
sete al
mov dword [esp + 0x4c], 0
movzx eax, al
push eax
push dword [ecx + ebx*8]
call fcn.00438bc0
add esp, 0x18
test al, al
je 0x462e3e
mov dword [edi + 0x10], ebx
lea ecx, [edi + 0xe4]
mov eax, dword [edi + 4]
mov esi, dword [eax + ebx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
push esi
push dword [eax]
call fcn.00467770
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 4]
push dword [eax + ecx*8]
push str.theme_user
call fcn.00466430
add esp, 0x10
cmp ebx, ebp
jne 0x462e47
call fcn.00418e30
mov eax, dword [edi + 8]
inc ebx
mov ecx, dword [edi + 4]
sub eax, ecx
sar eax, 3
cmp ebx, eax
jb 0x462dd5
pop ebp
call fcn.004342e0
imul eax, dword [0x66b030], 0xe2c
lea ecx, [edi + 0x58]
push 0
push dword [eax + 0x66b930]
push dword [eax + 0x66b92c]
call fcn.00462a20
imul eax, dword [0x66b030], 0xe2c
lea ebx, [edi + 0x98]
push ebx
push dword [eax + 0x66b948]
mov esi, dword [eax + 0x66b94c]
call fcn.00431e50
add esp, 8
test al, al
je 0x462ec5
cmp dword [edi + 0x94], 0xf
lea eax, [edi + 0x80]
jbe 0x462ebb
mov eax, dword [eax]
push ebx
push eax
call fcn.00466620
add esp, 8
pop ebx
test esi, esi
je 0x462eea
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004181d0
push esi
call fcn.0044a790
add esp, 0xc
imul eax, dword [0x66b030], 0xe2c
lea ecx, [edi + 0x9c]
push 0
push dword [eax + 0x66b944]
push dword [eax + 0x66b940]
call fcn.00462a20
imul eax, dword [0x66b030], 0xe2c
lea ecx, [edi + 0xc0]
push dword [eax + 0x66b9c0]
push dword [eax + 0x66b9c4]
push dword [eax + 0x66b9bc]
call fcn.00462a20
mov ecx, edi
call fcn.00466b70
call fcn.00437ac0
mov ecx, edi
call fcn.00463e40
call fcn.00437ac0
imul eax, dword [0x66b030], 0xe2c
push 0
push dword [eax + 0x66ba40]
call fcn.0043c8d0
call fcn.00439230
imul eax, dword [0x66b030], 0xe2c
lea esi, [edi + 0x198]
push esi
push dword [eax + 0x66bb34]
call fcn.00431e50
add esp, 0x10
test al, al
je 0x462fa6
cmp dword [edi + 0x194], 0xf
lea eax, [edi + 0x180]
jbe 0x462f9c
mov eax, dword [eax]
push esi
push eax
call fcn.00466620
add esp, 8
call fcn.00437ac0
imul eax, dword [0x66b030], 0xe2c
push 0
push dword [eax + 0x66bb9c]
call fcn.0043c8d0
add esp, 8
call fcn.00439230
imul eax, dword [0x66b030], 0xe2c
lea ecx, [edi + 0x14]
push 0
push 0x5d60ec
push dword [eax + 0x66ba50]
call fcn.00462a20
mov eax, dword [edi + 0x14]
lea ecx, [edi + 0x14]
call dword [eax + 4]
mov edx, dword [edi + 0x288]
cmp edx, dword [eax]
je 0x46301b
mov eax, dword [edi + 0x14]
lea ecx, [edi + 0x14]
call dword [eax + 4]
push 0
imul eax, dword [eax], 0xe2c
push dword [eax + 0x66ba54]
call fcn.0043c8d0
add esp, 8
call fcn.00437ac0
imul eax, dword [0x66b030], 0xe2c
push 0
push dword [eax + 0x66bba4]
call fcn.0043c8d0
add esp, 8
call fcn.00439230
imul eax, dword [0x66b030], 0xe2c
lea ecx, [edi + 0x220]
push 0
push dword [eax + 0x66b964]
push dword [eax + 0x66b960]
call fcn.00462a20
mov eax, dword [edi + 0x220]
lea ecx, [edi + 0x220]
call dword [eax + 4]
lea esi, [edi + 0x260]
cmp dword [eax], 2
jne 0x46314f
push 1
call fcn.0040a340
imul eax, dword [0x66b030], 0xe2c
push esi
push dword [eax + 0x66bc80]
call fcn.00431e50
add esp, 0xc
test al, al
je 0x4630bf
cmp dword [edi + 0x25c], 0xf
lea eax, [edi + 0x248]
jbe 0x4630b5
mov eax, dword [eax]
push esi
push eax
call fcn.00466620
add esp, 8
push 1
call fcn.0040caa0
mov dword [esp], 0xbf800000
push ecx
mov dword [esp], 0
call fcn.004181d0
imul eax, dword [0x66b030], 0xe2c
push 0
push dword [eax + 0x66bc84]
call fcn.0043c8d0
add esp, 0x10
jmp 0x463187
test cl, cl
jne 0x462d86
push dword [edx]
push str.theme_user
call fcn.00466430
mov ecx, dword [edi + 0x10]
add esp, 8
mov eax, dword [edi + 4]
mov esi, dword [eax + ecx*8 + 4]
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 4]
push esi
push dword [eax]
call fcn.00467770
add esp, 8
mov byte [edi], 1
jmp 0x462d8f
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
push 0
push dword [eax]
call fcn.00467770
add esp, 8
mov byte [edi], 0
jmp 0x462e61
imul eax, dword [0x66b030], 0xe2c
push esi
push dword [eax + 0x66bc80]
call fcn.00431e50
add esp, 8
test al, al
je 0x463187
cmp dword [edi + 0x25c], 0xf
lea eax, [edi + 0x248]
jbe 0x46317d
mov eax, dword [eax]
push esi
push eax
call fcn.00466620
add esp, 8
imul eax, dword [0x66b030], 0xe2c
lea ecx, [edi + 0x264]
push 0
push dword [eax + 0x66b9b8]
push dword [eax + 0x66b9b4]
call fcn.00462a20
call fcn.00469790
cmp dword [eax + 0x10], 1
jne 0x4631f5
push 1
call fcn.0040a340
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0
push eax
imul eax, dword [0x66b030], 0xe2c
mov dword [esp + 0x3c], 0
push dword [eax + 0x66b95c]
call fcn.00431560
push 1
call fcn.0040caa0
add esp, 0x10
jmp 0x463282
imul eax, dword [0x66b030], 0xe2c
lea ecx, [esp + 0x30]
push ecx
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
push dword [eax + 0x66b95c]
call fcn.00431560
add esp, 8
test al, al
je 0x463282
call fcn.00469790
cmp dword [eax + 0x10], 1
je 0x463282
call fcn.00469790
mov esi, eax
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x46326d
lea ecx, [esp + 0x30]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
cmp dword [esp + 0x30], 0x103
jne 0x46325f
push 0
push dword [esi]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [esi]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi], 0xffffffff
push 0
push 0
push 0
push dword [esi + 4]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi], eax
call fcn.00469790
mov eax, dword [eax + 0x10]
dec eax
cmp eax, 4
ja case.0x463294.2
jmp dword [eax*4 + 0x4634b0]
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004181d0
imul eax, dword [0x66b030], 0xe2c
push 0
push dword [eax + 0x66bc50]
jmp 0x463348
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004181d0
imul eax, dword [0x66b030], 0xe2c
push 0
push dword [eax + 0x66bc4c]
jmp 0x463348
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004181d0
imul eax, dword [0x66b030], 0xe2c
push 0
push dword [eax + 0x66bc74]
jmp 0x463348
sub esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004181d0
imul eax, dword [0x66b030], 0xe2c
push 0
push dword [eax + 0x66bc6c]
call fcn.0043c8d0
add esp, 0x10
call fcn.00437ac0
imul eax, dword [0x66b030], 0xe2c
push 0
push dword [eax + 0x66bb98]
call fcn.0043c8d0
call fcn.00439230
call fcn.00544630
push eax
imul eax, dword [0x66b030], 0xe2c
push dword [eax + 0x66bca8]
call fcn.0043c390
add esp, 8
mov dword [esp + 4], 0xbf800000
mov dword [esp], 0
call fcn.004181d0
imul eax, dword [0x66b030], 0xe2c
lea ecx, [esp + 0x38]
push ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
push dword [eax + 0x66bc9c]
call fcn.00431560
add esp, 0x10
test al, al
je 0x46340e
lea eax, [edi + 0x330]
mov dword [esp + 8], vtable.std::_Func_impl_no_alloc_class__private:_void___thiscall_THPrac::THCfgGui::GuiMain_void_::_52::_lambda_1___void___.0
lea ecx, [esp + 8]
mov dword [esp + 0xc], edi
push eax
mov dword [esp + 0x30], ecx
call fcn.004699b0
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x46340e
mov edx, dword [ecx]
lea eax, [esp + 8]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
call fcn.00437ac0
imul eax, dword [0x66b030], 0xe2c
push 0
push dword [eax + 0x66bc94]
call fcn.0043c8d0
imul eax, dword [0x66b030], 0xe2c
push 0
push dword [eax + 0x66bcac]
call fcn.0043c8d0
push 0
call fcn.0040faf0
add esp, 0x14
pop edi
pop esi
test al, al
je 0x46347d
push 7
call fcn.00419060
push 0
push 0
call fcn.0040fc80
add esp, 0xc
test al, al
je 0x46347d
push 5
push 0
push 0
push 0x5d6108
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
call fcn.00437ac0
imul eax, dword [0x66b030], 0xe2c
push str.You_
push dword [eax + 0x66bca0]
call fcn.0043c390
mov ecx, dword [esp + 0x3c]
add esp, 8
xor ecx, esp
call fcn.0059a5ad
add esp, 0x38
ret
mov ecx, dword [ecx + 4]
jmp 0x462ba0