Function at 0x46c610
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x2084
call fcn.0051bb00
mov eax, dword [esp + 0x2088]
push ebx
push ebp
push esi
mov esi, dword [eax + 0x40]
push edi
push 0x2000
lea ecx, [esp + 0x94]
push 0
push ecx
call fcn.0051c1b0
mov bl, byte [esi + 0xbd]
and bl, 1
add esp, 0xc
movsx eax, bl
neg eax
sbb eax, eax
and eax, 0x160
add eax, 0x290
lea edx, [esp + eax + 0x90]
push 0x68
mov dword [esp + 0x18], eax
lea eax, [esp + 0x24]
push 0
push eax
mov byte [esp + 0x28], bl
mov dword [esp + 0x24], edx
call fcn.0051c1b0
mov ecx, dword [esp + 0x20b0]
mov edi, dword [ecx + 0x40]
mov ebp, dword [ecx + 0x44]
mov edx, edi
add esp, 0xc
or edx, ebp
je 0x46c6e7
mov eax, dword [esi + 0x900]
test eax, eax
je 0x46c6e7
mov al, byte [eax + 0xbd]
mov dl, byte [esi + 0xbd]
xor dl, al
test dl, 1
jne 0x46c6e7
and al, 1
movzx edx, al
mov eax, dword [esi + 0x900]
neg edx
sbb edx, edx
push 0
and edx, 0x24
lea ecx, [esp + 0x24]
push ecx
add edx, 0x44
push edx
lea ecx, [eax + 0x7728]
mov eax, dword [esp + 0x20a4]
mov eax, dword [eax + 0x2c]
push ebp
push edi
mov dl, 1
call eax
mov ecx, dword [esp + 0x20a4]
mov eax, dword [ecx + 0x50]
xor edx, edx
and eax, 0x8000008
or eax, edx
lea ebp, [edx + 3]
jne 0x46c734
cmp word [esi + 0x195c], bp
jne 0x46c734
mov edi, dword [esp + 0x209c]
or byte [esi + 0xc9], 1
push 0x104
lea ecx, [esi + 0x82b0]
push edi
push ecx
call fcn.0050a3a0
mov ecx, dword [esp + 0x20b0]
add esp, 0xc
mov byte [esi + 0x83b3], 0
jmp 0x46c73b
mov edi, dword [esp + 0x209c]
lea eax, [esi + 0x25f8]
mov dword [esp + 0x98], 1
test bl, bl
je 0x46c9ef
mov edx, dword [esp + 0x5c]
test edx, 0x100
je 0x46c772
test edx, 0x600
je 0x46c772
and edx, 0xfffffeff
mov dword [esp + 0x5c], edx
test edx, 0x700
je 0x46c7bd
mov edx, dword [esp + 0x70]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x84]
jmp 0x46c7f3
test byte [esi + 0xc9], 1
je 0x46c7fa
xor edx, edx
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], 7
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], 0xb
mov dword [esp + 0xc4], edx
mov edx, dword [ecx + 0x50]
mov ecx, dword [ecx + 0x54]
mov dword [esp + 0x8c], ecx
mov ecx, edx
and ecx, 8
xor ebx, ebx
or ecx, ebx
je 0x46c81e
or ecx, 0xffffffff
mov dword [esp + 0xa4], ecx
jmp 0x46c87a
mov ecx, edx
and ecx, 0x10
or ecx, ebx
je 0x46c83b
mov dword [esp + 0xa0], 0x1e40004
mov dword [esp + 0xa4], ebx
jmp 0x46c881
and edx, 0x8000000
xor ecx, ecx
or edx, ecx
je 0x46c85f
mov dword [esp + 0xa0], 0xfffffffd
mov dword [esp + 0xa4], 0xffffffff
jmp 0x46c881
cmp word [esi + 0x195c], bp
jne 0x46c86f
mov ecx, 0x1e40004
jmp 0x46c871
xor ecx, ecx
xor edx, edx
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa0], ecx
lea edx, [esp + 0x14]
push edx
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0xcc]
call fcn.0046bef0
lea eax, [esp + 0x14]
push eax
mov eax, str.C:WINDOWS_system32_C:WINDOWS_system_C:WINDOWS_.
lea ecx, [esp + 0xe4]
call fcn.0046bef0
lea ecx, [esp + 0x14]
push ecx
mov eax, edi
lea ecx, [esp + 0xf4]
call fcn.0046bef0
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20a0]
lea eax, [esp + 0x14]
push eax
mov eax, ebp
lea ecx, [esp + 0x104]
mov dword [esi + 0x19e8], edx
call fcn.0046bef0
mov ecx, dword [esi + 0x1a00]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x110], ecx
mov edx, dword [esi + 0x1a04]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x114], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x11c], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x120], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x12c], edx
movzx edx, word [esp + 0x60]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x134], ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x138], edx
mov dword [esi + 0x19ec], eax
push ecx
mov eax, edi
lea ecx, [esp + 0x144]
call fcn.0046bef0
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x14]
push eax
mov eax, str.WinSta0Default
lea ecx, [esp + 0x154]
mov dword [esi + 0x19f0], edx
call fcn.0046bef0
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x14]
mov dword [esi + 0x19f4], ecx
push edx
mov eax, 0x9286d9
lea ecx, [esp + 0x164]
call fcn.0046bef0
cmp word [esp + 0x62], 0
je 0x46cc2b
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x14]
mov dword [esi + 0x19f8], eax
push ecx
mov eax, 0x9286d9
lea ecx, [esp + 0x174]
call fcn.0046bef0
jmp 0x46cc2b
mov edx, dword [esp + 0x4c]
test edx, 0x100
je 0x46ca0d
test edx, 0x600
je 0x46ca0d
and edx, 0xfffffeff
mov dword [esp + 0x4c], edx
test edx, 0x700
je 0x46ca38
mov edx, dword [esp + 0x58]
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0xb0], edx
jmp 0x46ca5e
test byte [esi + 0xc9], 1
je 0x46ca5e
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xac], 7
mov dword [esp + 0xb0], 0xb
mov edx, dword [ecx + 0x50]
mov ecx, dword [ecx + 0x54]
mov dword [esp + 0x8c], ecx
mov ecx, edx
and ecx, 8
xor ebx, ebx
or ecx, ebx
je 0x46ca83
mov dword [esp + 0xa0], 0xffffffff
jmp 0x46cace
mov ecx, edx
and ecx, 0x10
xor ebx, ebx
or ecx, ebx
je 0x46ca9b
mov dword [esp + 0xa0], 0x380002
jmp 0x46cace
and edx, 0x8000000
xor ecx, ecx
or edx, ecx
je 0x46cab4
mov dword [esp + 0xa0], 0xfffffffd
jmp 0x46cace
xor edx, edx
cmp word [esi + 0x195c], bp
setne dl
dec edx
and edx, 0x380002
mov dword [esp + 0xa0], edx
lea ecx, [esp + 0x14]
push ecx
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0xb8]
call fcn.0046be80
lea edx, [esp + 0x14]
push edx
mov eax, str.C:WINDOWS_system32_C:WINDOWS_system_C:WINDOWS_.
lea ecx, [esp + 0xc4]
call fcn.0046be80
lea eax, [esp + 0x14]
push eax
mov eax, edi
lea ecx, [esp + 0xcc]
call fcn.0046be80
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20a0]
lea edx, [esp + 0x14]
mov dword [esi + 0x19e8], ecx
push edx
lea ecx, [esp + 0xd4]
call fcn.0046be80
mov eax, dword [esi + 0x1a00]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xe0], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xf0], eax
movzx eax, word [esp + 0x50]
mov dword [esp + 0xec], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], eax
lea edx, [esp + 0x14]
mov dword [esi + 0x19ec], ecx
push edx
mov eax, edi
lea ecx, [esp + 0x104]
call fcn.0046be80
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x14]
mov dword [esi + 0x19f0], eax
push ecx
mov eax, str.WinSta0Default
lea ecx, [esp + 0x10c]
call fcn.0046be80
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x14]
push eax
mov eax, 0x9286d9
lea ecx, [esp + 0x114]
mov dword [esi + 0x19f4], edx
call fcn.0046be80
cmp word [esp + 0x52], 0
je 0x46cc24
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x14]
mov dword [esi + 0x19f8], ecx
push edx
mov eax, 0x9286d9
lea ecx, [esp + 0x11c]
call fcn.0046be80
mov ebp, dword [esp + 0x20a0]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x90]
mov edi, eax
sub edi, ecx
mov ecx, dword [esp + 0x14]
add edi, 3
and edi, 0xfffffffc
lea edx, [edi + 0xfff]
and edx, 0xfffff000
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], edx
mov dword [esi + 0x19fc], ecx
mov cl, byte [ebp]
mov byte [eax], cl
test cl, cl
je 0x46cc7c
lea ecx, [ecx]
mov cl, byte [ebp + 1]
inc ebp
inc eax
inc edi
mov byte [eax], cl
test cl, cl
jne 0x46cc70
push 4
push 0x20000
xor eax, eax
push eax
push edi
push eax
push edi
lea ebx, [esi + 0x19e0]
push ebx
push esi
call fcn.00458a80
xor esi, esi
cmp eax, esi
jl 0x46cd59
mov edx, dword [esp + 0x1c]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push edx
push eax
push ecx
lea eax, [esp + 0x9c]
call fcn.0046c490
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push esi
lea edx, [esp + 0x94]
push edx
push edi
push eax
push ecx
mov ecx, dword [esp + 0x20ac]
mov eax, dword [ecx + 0x2c]
mov dl, 2
call eax
cmp byte [esp + 0x1c], 0
mov eax, dword [esp + 0x20a4]
je 0x46cd30
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov dword [eax + 0x68], ecx
mov ecx, dword [esp + 0xb8]
mov dword [eax + 0x6c], edx
mov edx, dword [esp + 0xbc]
mov dword [eax + 0x70], ecx
mov ecx, dword [esp + 0xc0]
mov dword [eax + 0x74], edx
mov edx, dword [esp + 0xc4]
mov dword [eax + 0x7c], edx
mov dword [eax + 0x78], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2084
ret 0x10
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov dword [eax + 0x68], ecx
mov ecx, dword [esp + 0xb0]
mov dword [eax + 0x6c], esi
mov dword [eax + 0x70], edx
mov dword [eax + 0x74], esi
mov dword [eax + 0x7c], esi
mov dword [eax + 0x78], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2084
ret 0x10