Function at 0x46a2d0
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 0x50dca7
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x98
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 esi, ecx
mov dword [ebp - 0xa4], esi
mov edi, dword [ebx + 8]
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x20]
call eax
cmp eax, 0x2710
jne 0x46a95e
mov eax, dword [edi + 0x18]
test eax, eax
je 0x46a4fb
mov edx, 0x52a360
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
mov esi, dword [ebp - 0xa4]
jne 0x46a383
cmp word [ecx], 0
je 0x46a37f
mov si, word [ecx + 2]
cmp si, word [edx + 2]
mov word [ebp - 0xa6], si
mov esi, dword [ebp - 0xa4]
jne 0x46a383
add ecx, 4
add edx, 4
cmp word [ebp - 0xa6], 0
jne 0x46a344
xor ecx, ecx
jmp 0x46a388
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x46a44a
xorps xmm0, xmm0
mov byte [edi + 0xc], cl
movzx eax, byte [0x52dadc]
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x4c], 9
movq xmm0, qword [str.login_msg]
mov dword [ebp - 0x48], 0xf
movq qword [ebp - 0x5c], xmm0
mov byte [ebp - 0x54], al
mov byte [ebp - 0x53], cl
mov eax, dword [str.close]
xorps xmm0, xmm0
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x44], eax
movzx eax, byte [0x52dae4]
mov dword [ebp - 0x34], 5
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x40], al
mov byte [ebp - 0x3f], cl
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x5c]
push eax
push ecx
lea ecx, [ebp - 0xa0]
call fcn.0046bbc0
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.00415430
lea ecx, [ebp - 0xa0]
call fcn.00468630
push fcn.00402370
push 2
push 0x18
lea eax, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.004d3e09
mov ecx, esi
call dword [sym.imp.soui.dll_protected:_void___thiscall_SOUI::SHostDialog::OnCancel_void_]
xor eax, eax
cmp byte [edi + 0xc], al
sete al
jmp 0x46ae0e
mov edx, str.send_phone_code_btn
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
mov esi, dword [ebp - 0xa4]
jne 0x46a490
cmp word [ecx], 0
je 0x46a48c
mov si, word [ecx + 2]
cmp si, word [edx + 2]
mov word [ebp - 0xa6], si
mov esi, dword [ebp - 0xa4]
jne 0x46a490
add ecx, 4
add edx, 4
cmp word [ebp - 0xa6], 0
jne 0x46a451
xor ecx, ecx
jmp 0x46a495
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x46a4b0
mov byte [edi + 0xc], cl
mov ecx, esi
call fcn.0046c9b0
xor eax, eax
cmp byte [edi + 0xc], al
sete al
jmp 0x46ae0e
mov ecx, str.login_btn
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46a4db
test dx, dx
je 0x46a4d7
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46a4db
add eax, 4
add ecx, 4
test dx, dx
jne 0x46a4b5
xor eax, eax
jmp 0x46a4e0
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46a4fb
mov ecx, esi
mov byte [edi + 0xc], al
call fcn.0046ce40
xor eax, eax
cmp byte [edi + 0xc], al
sete al
jmp 0x46ae0e
mov eax, dword [edi + 0x18]
test eax, eax
je 0x46a89e
mov edx, str.login_user_areement
mov ecx, eax
nop dword [eax]
mov si, word [ecx]
cmp si, word [edx]
mov esi, dword [ebp - 0xa4]
jne 0x46a54f
cmp word [ecx], 0
je 0x46a54b
mov si, word [ecx + 2]
cmp si, word [edx + 2]
mov word [ebp - 0xa6], si
mov esi, dword [ebp - 0xa4]
jne 0x46a54f
add ecx, 4
add edx, 4
cmp word [ebp - 0xa6], 0
jne 0x46a510
xor ecx, ecx
jmp 0x46a554
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x46a56f
mov byte [edi + 0xc], cl
mov ecx, esi
call fcn.0046d760
xor eax, eax
cmp byte [edi + 0xc], al
sete al
jmp 0x46ae0e
mov edx, str.login_user_areement_link
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x46a5a3
test si, si
je 0x46a59f
mov si, word [ecx + 2]
mov word [ebp - 0xa6], si
cmp si, word [edx + 2]
jne 0x46a5a3
add ecx, 4
add edx, 4
test si, si
jne 0x46a576
xor ecx, ecx
jmp 0x46a5a8
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x46a671
mov eax, dword fs:[0x2c]
mov byte [edi + 0xc], cl
mov ecx, dword [eax]
mov eax, dword [0x572c54]
cmp eax, dword [ecx + 4]
jle 0x46a60b
push 0x572c54
call fcn.004d3ba5
add esp, 4
cmp dword [0x572c54], 0xffffffff
jne 0x46a60b
mov dword [ebp - 4], 3
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, 0x572d18
lea ecx, [ebp - 0x2c]
call fcn.004163b0
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 0x46a65c
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]
call fcn.00414ec0
xor eax, eax
cmp byte [edi + 0xc], al
sete al
jmp 0x46ae0e
mov edx, str.phone_btn
mov ecx, eax
nop dword [eax + eax]
mov si, word [ecx]
cmp si, word [edx]
mov esi, dword [ebp - 0xa4]
jne 0x46a6bf
cmp word [ecx], 0
je 0x46a6bb
mov si, word [ecx + 2]
cmp si, word [edx + 2]
mov word [ebp - 0xa6], si
mov esi, dword [ebp - 0xa4]
jne 0x46a6bf
add ecx, 4
add edx, 4
cmp word [ebp - 0xa6], 0
jne 0x46a680
xor ecx, ecx
jmp 0x46a6c4
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x46a721
mov byte [edi + 0xc], cl
push ecx
mov ecx, dword [esi + 0x3bc]
mov esi, dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SWindow::SetCheck_int_]
call esi
mov ecx, dword [ebp - 0xa4]
push 1
mov ecx, dword [ecx + 0x3b8]
call esi
mov eax, dword [ebp - 0xa4]
mov esi, dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SWindow::SetVisible_int__int_]
push 1
push 1
mov ecx, dword [eax + 0x3c0]
call esi
mov eax, dword [ebp - 0xa4]
push 1
push 0
mov ecx, dword [eax + 0x3c4]
call esi
xor eax, eax
cmp byte [edi + 0xc], al
sete al
jmp 0x46ae0e
mov edx, str.wechat_btn
mov ecx, eax
nop dword [eax + eax]
mov si, word [ecx]
cmp si, word [edx]
mov esi, dword [ebp - 0xa4]
jne 0x46a76f
cmp word [ecx], 0
je 0x46a76b
mov si, word [ecx + 2]
cmp si, word [edx + 2]
mov word [ebp - 0xa6], si
mov esi, dword [ebp - 0xa4]
jne 0x46a76f
add ecx, 4
add edx, 4
cmp word [ebp - 0xa6], 0
jne 0x46a730
xor ecx, ecx
jmp 0x46a774
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x46a819
mov byte [edi + 0xc], cl
mov ecx, dword [esi + 0x3bc]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SWindow::IsChecked_void_]
test eax, eax
jne 0x46a9b5
mov ecx, dword [esi + 0x3bc]
mov esi, dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SWindow::SetCheck_int_]
push 1
call esi
mov eax, dword [ebp - 0xa4]
push 0
mov ecx, dword [eax + 0x3b8]
call esi
mov eax, dword [ebp - 0xa4]
mov esi, dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SWindow::SetVisible_int__int_]
push 1
push 0
mov ecx, dword [eax + 0x3c0]
call esi
mov eax, dword [ebp - 0xa4]
push 0
push 1
mov ecx, dword [eax + 0x3c4]
call esi
mov eax, dword [ebp - 0xa4]
push 1
push 1
mov ecx, dword [eax + 0x3c8]
call esi
mov eax, dword [ebp - 0xa4]
push 1
push 0
mov ecx, dword [eax + 0x3cc]
call esi
mov ecx, dword [ebp - 0xa4]
call fcn.0046e190
xor eax, eax
cmp byte [edi + 0xc], al
sete al
jmp 0x46ae0e
mov ecx, str.btn_refresh_qrcode
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46a846
test dx, dx
je 0x46a842
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46a846
add eax, 4
add ecx, 4
test dx, dx
jne 0x46a820
xor eax, eax
jmp 0x46a84b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46a89e
push 1
mov byte [edi + 0xc], al
mov ecx, dword [esi + 0x3d0]
mov esi, dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SWindow::SetVisible_int__int_]
push eax
call esi
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax + 0x3d8]
call fcn.00438a50
mov eax, dword [ebp - 0xa4]
push 1
push 1
mov ecx, dword [eax + 0x3d8]
call esi
mov ecx, dword [ebp - 0xa4]
call fcn.0046e190
xor eax, eax
cmp byte [edi + 0xc], al
sete al
jmp 0x46ae0e
mov eax, dword [edi + 0x18]
test eax, eax
je 0x46ae05
mov edx, str.login_btn_bind
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
mov esi, dword [ebp - 0xa4]
jne 0x46a8ef
cmp word [ecx], 0
je 0x46a8eb
mov si, word [ecx + 2]
cmp si, word [edx + 2]
mov word [ebp - 0xa6], si
mov esi, dword [ebp - 0xa4]
jne 0x46a8ef
add ecx, 4
add edx, 4
cmp word [ebp - 0xa6], 0
jne 0x46a8b0
xor ecx, ecx
jmp 0x46a8f4
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x46a90f
mov byte [edi + 0xc], cl
mov ecx, esi
call fcn.0046ece0
xor eax, eax
cmp byte [edi + 0xc], al
sete al
jmp 0x46ae0e
mov ecx, str.send_phone_code_btn_bind
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46a93a
test dx, dx
je 0x46a936
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46a93a
add eax, 4
add ecx, 4
test dx, dx
jne 0x46a914
xor eax, eax
jmp 0x46a93f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46ae05
mov ecx, esi
mov byte [edi + 0xc], al
call fcn.0046f050
xor eax, eax
cmp byte [edi + 0xc], al
sete al
jmp 0x46ae0e
cmp eax, 0x4a38
jne 0x46aa1c
mov eax, dword [edi + 0x18]
test eax, eax
je 0x46a9c2
mov ecx, 0x52d900
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46a99b
test dx, dx
je 0x46a997
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46a99b
add eax, 4
add ecx, 4
test dx, dx
jne 0x46a975
xor eax, eax
jmp 0x46a9a0
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46a9c2
mov byte [edi + 0xc], al
mov ecx, esi
call fcn.0046d580
mov ecx, esi
call fcn.0046d760
xor eax, eax
cmp byte [edi + 0xc], al
sete al
jmp 0x46ae0e
mov eax, dword [edi + 0x18]
test eax, eax
je 0x46ae05
mov ecx, str.edit_phone_bind
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46a9f8
test dx, dx
je 0x46a9f4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46a9f8
add eax, 4
add ecx, 4
test dx, dx
jne 0x46a9d2
xor eax, eax
jmp 0x46a9fd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46ae05
mov ecx, esi
mov byte [edi + 0xc], al
call fcn.0046d860
xor eax, eax
cmp byte [edi + 0xc], al
sete al
jmp 0x46ae0e
cmp eax, 0x989681
jne 0x46aa3c
push edi
mov ecx, esi
mov byte [edi + 0xc], 0
call fcn.0046d950
xor eax, eax
cmp byte [edi + 0xc], al
sete al
jmp 0x46ae0e
cmp eax, 0x3e80
jne 0x46ae05
mov eax, dword [edi + 0x18]
test eax, eax
je 0x46ac21
mov edx, 0x52d900
mov ecx, eax
nop dword [eax]
mov si, word [ecx]
cmp si, word [edx]
mov esi, dword [ebp - 0xa4]
jne 0x46aa9f
cmp word [ecx], 0
je 0x46aa9b
mov si, word [ecx + 2]
cmp si, word [edx + 2]
mov word [ebp - 0xa6], si
mov esi, dword [ebp - 0xa4]
jne 0x46aa9f
add ecx, 4
add edx, 4
cmp word [ebp - 0xa6], 0
jne 0x46aa60
xor ecx, ecx
jmp 0x46aaa4
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x46ab59
mov byte [edi + 0xc], cl
cmp dword [esi + 0x398], ecx
je 0x46a9b5
lea ecx, [edi + 8]
test ecx, ecx
je 0x46a9b5
mov eax, dword [ecx]
push 0x52a7f4
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x46a9b5
test edi, edi
je 0x46a9b5
cmp dword [edi + 0x20], 0x300
jne 0x46a9b5
mov ecx, dword [edi + 0x1c]
mov dword [ebp - 0xa8], ecx
test ecx, ecx
je 0x46a9b5
mov eax, dword [ecx]
push 0x523bac
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x46a9b5
mov eax, dword [esi + 0x398]
mov ecx, dword [eax + 0x174]
mov dword [ebp - 0xa4], ecx
test ecx, ecx
je 0x46a9b5
mov eax, dword [ecx]
push 0x523bac
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x46a9b5
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0xa8], eax
jne 0x46a9b5
jmp 0x46a9a7
mov ecx, str.edit_code
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46ab86
test dx, dx
je 0x46ab82
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46ab86
add eax, 4
add ecx, 4
test dx, dx
jne 0x46ab60
xor eax, eax
jmp 0x46ab8b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46ac21
mov byte [edi + 0xc], al
cmp dword [esi + 0x39c], eax
je 0x46a9b5
lea ecx, [edi + 8]
test ecx, ecx
je 0x46a9b5
mov eax, dword [ecx]
push 0x52a7f4
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x46a9b5
test edi, edi
je 0x46a9b5
cmp dword [edi + 0x20], 0x300
jne 0x46a9b5
mov ecx, dword [edi + 0x1c]
mov dword [ebp - 0xa4], ecx
test ecx, ecx
je 0x46a9b5
mov eax, dword [ecx]
push 0x523bac
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x46a9b5
mov eax, dword [ebp - 0xa4]
cmp eax, dword [esi + 0x39c]
jne 0x46a9b5
mov ecx, esi
call fcn.0046d760
xor eax, eax
cmp byte [edi + 0xc], al
sete al
jmp 0x46ae0e
mov eax, dword [edi + 0x18]
test eax, eax
je 0x46ae05
mov edx, str.edit_phone_bind
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
mov esi, dword [ebp - 0xa4]
jne 0x46ac72
cmp word [ecx], 0
je 0x46ac6e
mov si, word [ecx + 2]
cmp si, word [edx + 2]
mov word [ebp - 0xa6], si
mov esi, dword [ebp - 0xa4]
jne 0x46ac72
add ecx, 4
add edx, 4
cmp word [ebp - 0xa6], 0
jne 0x46ac33
xor ecx, ecx
jmp 0x46ac77
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x46ad42
mov byte [edi + 0xc], cl
cmp dword [esi + 0x3e8], ecx
je 0x46a9b5
lea ecx, [edi + 8]
test ecx, ecx
je 0x46a9b5
mov eax, dword [ecx]
push 0x52a7f4
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x46a9b5
test edi, edi
je 0x46a9b5
cmp dword [edi + 0x20], 0x300
jne 0x46a9b5
mov ecx, dword [edi + 0x1c]
mov dword [ebp - 0xa8], ecx
test ecx, ecx
je 0x46a9b5
mov eax, dword [ecx]
push 0x523bac
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x46a9b5
mov eax, dword [esi + 0x3e8]
mov ecx, dword [eax + 0x174]
mov dword [ebp - 0xa4], ecx
test ecx, ecx
je 0x46a9b5
mov eax, dword [ecx]
push 0x523bac
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x46a9b5
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0xa8], eax
jne 0x46a9b5
mov ecx, esi
call fcn.0046d670
mov ecx, esi
call fcn.0046d860
xor eax, eax
cmp byte [edi + 0xc], al
sete al
jmp 0x46ae0e
mov ecx, str.edit_code_bind
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46ad6d
test dx, dx
je 0x46ad69
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46ad6d
add eax, 4
add ecx, 4
test dx, dx
jne 0x46ad47
xor eax, eax
jmp 0x46ad72
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46ae05
mov byte [edi + 0xc], al
cmp dword [esi + 0x3ec], eax
je 0x46a9b5
lea ecx, [edi + 8]
test ecx, ecx
je 0x46a9b5
mov eax, dword [ecx]
push 0x52a7f4
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x46a9b5
test edi, edi
je 0x46a9b5
cmp dword [edi + 0x20], 0x300
jne 0x46a9b5
mov ecx, dword [edi + 0x1c]
mov dword [ebp - 0xa4], ecx
test ecx, ecx
je 0x46a9b5
mov eax, dword [ecx]
push 0x523bac
mov eax, dword [eax + 4]
call eax
test eax, eax
je 0x46a9b5
mov eax, dword [ebp - 0xa4]
cmp eax, dword [esi + 0x3ec]
jne 0x46a9b5
mov ecx, esi
call fcn.0046d860
xor eax, eax
cmp byte [edi + 0xc], al
sete al
jmp 0x46ae0e
push edi
mov ecx, esi
call dword [sym.imp.soui.dll_public_virtual:_int___thiscall_SOUI::SHostDialog::_HandleEvent_class_SOUI::EventArgs__]
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 4