Function at 0x48e635
Capabilities:
Create process on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51189b
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x7d8
mov eax, dword [0x567040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebx + 0x14]
mov dword [eax], 1
mov eax, dword [ebx + 0xc]
cmp eax, 0x258
jg 0x48e47b
je 0x48e3db
add eax, 0xffffff38
cmp eax, 0x69
ja case.0x48e489.602
movzx eax, byte [eax + 0x48e730]
jmp dword [eax*4 + 0x48e718]
push str.LAYOUT:XML_DLG_SYS_SETTING
lea ecx, [ebp - 0x420]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SHostDialog::constructor_wchar_t_const__]
xorps xmm0, xmm0
mov dword [ebp - method.SOUI::SDropDownWnd2.2.virtual_0], 0x530770
lea esi, [edi + 0x43c]
mov dword [ebp - 0x41c], 0x530670
mov dword [ebp - method.SOUI::SQrCtrl.virtual_0], 0x530628
mov dword [ebp - method.SOUI::SQrCtrl.1.virtual_0], 0x530630
mov dword [ebp - 0x1e4], 0x530644
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x54], esi
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x420]
push dword [edi + 0x248]
call fcn.004714f0
lea ecx, [ebp - 0x420]
mov dword [esi], 0
mov dword [ebp - method.SOUI::SDropDownWnd2.2.virtual_0], vtable.SOUI::SMaskDialog.4.0
mov dword [ebp - method.SOUI::SMaskDialog.2.virtual_0], vtable.SOUI::SMaskDialog.2.0
mov dword [ebp - method.SOUI::SQrCtrl.virtual_0], vtable.SOUI::SMaskDialog.0
mov dword [ebp - method.SOUI::SQrCtrl.1.virtual_0], vtable.SOUI::SMaskDialog.1.0
mov dword [ebp - method.SOUI::SMaskDialog.3.virtual_0], vtable.SOUI::SMaskDialog.3.0
call dword [sym.imp.soui.dll_public_virtual:_void___thiscall_SOUI::SHostDialog::destructor_void_]
jmp case.0x48e489.602
push str.LAYOUT:XML_DLG_ABOUT
lea ecx, [ebp - 0x7b8]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SHostDialog::constructor_wchar_t_const__]
mov dword [ebp - method.SOUI::SDropDownWnd2.2.virtual_0], 0x52a3f0
mov dword [ebp - 0x7b4], 0x52a49c
mov dword [ebp - method.SOUI::SQrCtrl.virtual_0], 0x52a494
mov dword [ebp - method.SOUI::SQrCtrl.1.virtual_0], 0x52a59c
mov dword [ebp - 0x57c], 0x52a3e0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x7b8]
push dword [edi + 0x248]
call fcn.004714f0
lea ecx, [ebp - 0x7b8]
mov dword [ebp - method.SOUI::SDropDownWnd2.2.virtual_0], vtable.SOUI::SMaskDialog.4.0
mov dword [ebp - method.SOUI::SMaskDialog.2.virtual_0], vtable.SOUI::SMaskDialog.2.0
mov dword [ebp - method.SOUI::SQrCtrl.virtual_0], vtable.SOUI::SMaskDialog.0
mov dword [ebp - method.SOUI::SQrCtrl.1.virtual_0], vtable.SOUI::SMaskDialog.1.0
mov dword [ebp - method.SOUI::SMaskDialog.3.virtual_0], vtable.SOUI::SMaskDialog.3.0
call dword [sym.imp.soui.dll_public_virtual:_void___thiscall_SOUI::SHostDialog::destructor_void_]
jmp case.0x48e489.602
call fcn.00477520
test al, al
je case.0x48e489.602
push str.LAYOUT:XML_DLG_EXCHANGE_CODE
lea ecx, [ebp - 0x408]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SHostDialog::constructor_wchar_t_const__]
mov dword [ebp - 4], 2
xorps xmm0, xmm0
xor eax, eax
mov dword [ebp - method.SOUI::SDropDownWnd2.2.virtual_0], vtable.SOUI::SExchangeCodeDlg.4.0
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - method.SOUI::SExchangeCodeDlg.virtual_0], vtable.SOUI::SExchangeCodeDlg.0
mov dword [ebp - method.SOUI::SQrCtrl.virtual_0], vtable.SOUI::SExchangeCodeDlg.2.0
mov dword [ebp - method.SOUI::SQrCtrl.1.virtual_0], vtable.SOUI::SExchangeCodeDlg.3.0
mov dword [ebp - method.SOUI::SExchangeCodeDlg.1.virtual_0], vtable.SOUI::SExchangeCodeDlg.1.0
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 7
mov word [ebp - 0x60], ax
push eax
push 0x522ac0
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 3
call fcn.00416930
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x408]
push dword [edi + 0x248]
call fcn.004714f0
cmp eax, 1
jne 0x48e278
mov esi, dword [edi + 0x248]
call fcn.0041cf40
call dword [0x572544]
test al, al
je 0x48e0c0
call dword [0x572540]
test eax, eax
jg 0x48e0c0
push 0x5231d0
push 0
push 0x525
push str.adaptercenterSAdapterCenter.cpp
call dword [0x572548]
add esp, 0x10
push 0x48c5c0
push esi
call dword [0x5724d8]
add esp, 4
mov ecx, esp
mov dword [ebp - 0x7e0], esp
push 0x522ac0
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
push ecx
mov byte [ebp - 4], 5
mov ecx, esp
mov dword [ebp - 0x7e4], esp
push 0x532b38
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
push ecx
mov byte [ebp - 4], 6
mov ecx, esp
mov dword [ebp - 0x7d8], esp
push 0x52dda8
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
mov byte [ebp - 4], 7
lea eax, [ebp - 0x60]
cmp dword [ebp - 0x4c], 7
xorps xmm0, xmm0
mov esi, dword [ebp - 0x50]
cmova eax, dword [ebp - 0x60]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x7d4], eax
push 1
push 3
movups xmmword [ebp - 0x2c], xmm0
cmp esi, 0x7ffffffe
ja 0x48e70b
cmp esi, 7
ja 0x48e168
mov ecx, 7
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2c], xmm0
jmp 0x48e1c6
mov eax, esi
or eax, 7
cmp eax, 0x7ffffffe
jbe 0x48e17b
mov eax, bind
jmp 0x48e185
mov ecx, 0xa
cmp eax, ecx
cmovb eax, ecx
mov dword [ebp - 0x7dc], eax
lea eax, [ebp - 0x7dc]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00416e50
mov ecx, eax
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x18], eax
lea eax, [esi*2 + 2]
push eax
push dword [ebp - 0x7d4]
mov dword [ebp - 0x2c], ecx
push ecx
call fcn.004d8330
mov ecx, dword [ebp - 0x18]
add esp, 0x14
cmp ecx, 7
mov byte [ebp - 4], 8
push ecx
lea eax, [ebp - 0x2c]
mov ecx, esp
cmova eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
lea ecx, [ebp - 0x7d0]
mov byte [ebp - 4], 9
call fcn.00471a50
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x18]
cmp ecx, 7
jbe 0x48e22b
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x48e221
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48e710
push ecx
push edx
call fcn.004d3ab1
add esp, 8
push dword [edi + 0x248]
xor eax, eax
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x7d0]
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
call fcn.004714f0
cmp eax, 2
jne 0x48e26d
push 0
push 0x130
push 0x7f8
push dword [edi + 0x248]
call dword [sym.imp.USER32.dll_PostMessageW]
lea ecx, [ebp - 0x7d0]
call fcn.00471ba0
lea ecx, [ebp - 0x408]
call fcn.00461a70
jmp case.0x48e489.602
call fcn.00456350
mov al, byte [eax + 4]
test al, al
je 0x48e32f
push ecx
mov ecx, esp
mov dword [ebp - 0x7d8], esp
push 0x522ac0
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
push ecx
mov dword [ebp - 4], 0xc
mov ecx, esp
mov dword [ebp - 0x7e4], esp
push 0x522ac0
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
push ecx
mov byte [ebp - 4], 0xd
mov ecx, esp
mov dword [ebp - 0x7e0], esp
push 0x522ac0
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
push 0
push 2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xe
push str.ck_W
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
lea ecx, [ebp - 0x7d0]
mov dword [ebp - 4], 0xffffffff
call fcn.00471a50
mov dword [ebp - 4], 0xf
lea ecx, [ebp - 0x7d0]
push dword [edi + 0x248]
call fcn.004714f0
lea ecx, [ebp - 0x7d0]
call fcn.00471ba0
jmp case.0x48e489.602
mov ecx, edi
call fcn.0048cb10
mov esi, dword [edi + 0x248]
call fcn.0041cf40
call dword [0x572544]
test al, al
je 0x48e36f
call dword [0x572540]
test eax, eax
jg 0x48e36f
push str._u7bv
push 0
push 0x513
push str.adaptercenterSAdapterCenter.cpp
call dword [0x572548]
add esp, 0x10
push 0x48c600
push esi
call dword [0x572440]
add esp, 8
jmp case.0x48e489.602
lea ecx, [edi + 0x23c]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::CSimpleWnd::IsIconic_void_const]
test eax, eax
jne 0x48e3a7
lea ecx, [edi + 0x23c]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::CSimpleWnd::IsWindowVisible_void_const]
test eax, eax
jne case.0x48e489.602
lea ecx, [edi + 0x23c]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::CSimpleWnd::IsIconic_void_const]
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 5
push eax
push dword [edi + 0x248]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [edi + 0x248]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
jmp case.0x48e489.602
call fcn.00479c50
mov edi, eax
lea ecx, [edi + 0x23c]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::CSimpleWnd::IsWindowVisible_void_const]
test eax, eax
jne 0x48e45c
mov ecx, dword [0x572864]
test ecx, ecx
jne 0x48e428
push 0xc
call fcn.004d3aeb
mov ecx, eax
add esp, 4
mov dword [ebp - 0x7d8], ecx
mov dword [0x572864], ecx
mov dword [ecx], vtable.SOUI::SMantleCenter.0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
cmp dword [ecx + 4], 0
je 0x48e468
mov eax, 1
lock xadd dword [ecx + 8], eax
inc eax
cmp eax, 1
jne 0x48e468
mov ecx, dword [ecx + 4]
push eax
push eax
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SWindow::SetVisible_int__int_]
push 5
push dword [edi + 0x248]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp case.0x48e489.602
lea ecx, [edi + 0x23c]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::CSimpleWnd::IsWindowVisible_void_const]
push 5
push dword [edi + 0x248]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp case.0x48e489.602
add eax, 0xfffffda7
cmp eax, 4
ja case.0x48e489.602
jmp dword [eax*4 + 0x48e79c]
call fcn.00474e50
jmp 0x48e3e0
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x572c54]
cmp eax, dword [ecx + 4]
jle 0x48e4f2
push 0x572c54
call fcn.004d3ba5
add esp, 4
cmp dword [0x572c54], 0xffffffff
jne 0x48e4f2
mov dword [ebp - 4], 0x10
call fcn.004b6560
push 0x516500
call fcn.004d4159
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x572c54
call fcn.004d3b54
add esp, 4
mov edx, 0x572c70
lea ecx, [ebp - 0x2c]
call fcn.004163b0
push 0xc8
lea eax, [ebp - 0x6ec]
mov dword [ebp - 4], 0x11
push 0
push eax
mov dword [ebp - 0x6f0], 0
call fcn.004d88b0
add esp, 0xc
lea eax, [ebp - 0x624]
push 0x1fe
push 0
push eax
call fcn.004d88b0
add esp, 0xc
call fcn.0041cf40
lea eax, [ebp - 0x6f0]
push eax
push ecx
call fcn.0041ec50
test al, al
je 0x48e57f
lea ecx, [ebp - 0x624]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48e560
sub ecx, edx
lea eax, [ebp - 0x624]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.00416930
cmp dword [ebp - 0x18], 7
lea eax, [ebp - 0x2c]
mov esi, dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmova eax, dword [ebp - 0x2c]
push 1
push 0
push 0
push eax
push 0x523014
push 0
call esi
cmp eax, 0x20
ja 0x48e5c3
cmp dword [ebp - 0x18], 7
lea eax, [ebp - 0x2c]
push 1
cmova eax, dword [ebp - 0x2c]
push 0
push eax
push 0x523020
push 0x523014
push 0
call esi
lea ecx, [ebp - 0x2c]
jmp 0x48e6e1
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x572c54]
cmp eax, dword [ecx + 4]
jle 0x48e623
push 0x572c54
call fcn.004d3ba5
add esp, 4
cmp dword [0x572c54], 0xffffffff
jne 0x48e623
mov dword [ebp - 4], 0x12
call fcn.004b6560
push 0x516500
call fcn.004d4159
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x572c54
call fcn.004d3b54
add esp, 4
mov edx, 0x572c88
lea ecx, [ebp - 0x2c]
call fcn.004163b0
jmp 0x48e57f
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x572c54]
cmp eax, dword [ecx + 4]
jle 0x48e68d
push 0x572c54
call fcn.004d3ba5
add esp, 4
cmp dword [0x572c54], 0xffffffff
jne 0x48e68d
mov dword [ebp - 4], 0x13
call fcn.004b6560
push 0x516500
call fcn.004d4159
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x572c54
call fcn.004d3b54
add esp, 4
mov edx, 0x572ca0
lea ecx, [ebp - 0x44]
call fcn.004163b0
cmp dword [ebp - 0x30], 7
lea eax, [ebp - 0x44]
mov esi, dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmova eax, dword [ebp - 0x44]
push 1
push 0
push 0
push eax
push 0x523014
push 0
call esi
cmp eax, 0x20
ja 0x48e6de
cmp dword [ebp - 0x30], 7
lea eax, [ebp - 0x44]
push 1
cmova eax, dword [ebp - 0x44]
push 0
push eax
push 0x523020
push 0x523014
push 0
call esi
lea ecx, [ebp - 0x44]
call fcn.00414ec0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004d3a9e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
call fcn.00401610
call fcn.004e2ffc
nop dword [eax]
and ebx, 0x48
add byte [esi + ebx*8 + 72], ch
add byte [eax - 0x21], al
dec eax
add dh, bl
fisttp word [eax]
mov dl, ah
dec eax
add dh, ah
out 0x48, al
add byte [eax], al
add eax, 0x5050505
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 84215045
add eax, 17106181
add al, byte [1711538949]
nop
nop
in al, 72
add dh, ah
out 0x48, al
add byte [edx - 0x34ffb71c], bl
in eax, 0x48
add byte [0x530048e6], dh
push ebx