Function at 0x43cab0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46ffb0
mov eax, dword fs:[0]
push eax
sub esp, 0x320
mov eax, dword [0x47f0c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 0
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x258], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
shl eax, 0
movzx ecx, word [eax + str.shell32.dll]
add ecx, edx
mov word [ebp - 0x256], cx
mov edx, 0x1f6e
movzx eax, dx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
shl eax, 1
movzx ecx, word [eax + str.shell32.dll]
add ecx, edx
mov word [ebp - 0x254], cx
mov edx, 0x1f6e
movzx eax, dx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 3
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x252], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
shl eax, 2
movzx ecx, word [eax + str.shell32.dll]
add ecx, edx
mov word [ebp - 0x250], cx
mov edx, 0x1f6e
movzx eax, dx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 5
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x24e], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 6
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x24c], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 7
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x24a], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
shl eax, 3
movzx ecx, word [eax + str.shell32.dll]
add ecx, edx
mov word [ebp - 0x248], cx
mov edx, 0x1f6e
movzx eax, dx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 9
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x246], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 0xa
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x244], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 0xb
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x242], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 0xc
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x240], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 0xd
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x23e], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 0xe
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x23c], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 0xf
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x23a], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
shl eax, 4
movzx ecx, word [eax + str.shell32.dll]
add ecx, edx
mov word [ebp - 0x238], cx
mov edx, 0x1f6e
movzx eax, dx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 0x11
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x236], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 0x12
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x234], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 0x13
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x232], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 0x14
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x230], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 0x15
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x22e], ax
mov ecx, 0x1f6e
movzx eax, cx
cdq
mov ecx, 0xd
idiv ecx
movzx edx, dx
mov eax, 2
imul ecx, eax, 0x16
movzx eax, word [ecx + str.shell32.dll]
add eax, edx
mov word [ebp - 0x22c], ax
xor ecx, ecx
mov word [ebp - 0x22a], cx
lea ecx, [ebp - 0x258]
call fcn.0043e0a0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x481484], eax
cmp dword [0x481484], 0
jne 0x43cefe
mov eax, 1
jmp 0x43d49c
mov eax, 0x1d
cdq
mov ecx, 0xd
idiv ecx
movsx edx, dl
mov eax, 1
imul ecx, eax, 0
movsx eax, byte [ecx + str.IsUserAnAdmin]
add eax, edx
mov byte [ebp - 0x228], al
mov eax, 0x1d
cdq
mov ecx, 0xd
idiv ecx
movsx edx, dl
mov eax, 1
shl eax, 0
movsx ecx, byte [eax + str.IsUserAnAdmin]
add ecx, edx
mov byte [ebp - 0x227], cl
mov eax, 0x1d
cdq
mov ecx, 0xd
idiv ecx
movsx edx, dl
mov eax, 1
shl eax, 1
movsx ecx, byte [eax + str.IsUserAnAdmin]
add ecx, edx
mov byte [ebp - 0x226], cl
mov eax, 0x1d
cdq
mov ecx, 0xd
idiv ecx
movsx edx, dl
mov eax, 1
imul ecx, eax, 3
movsx eax, byte [ecx + str.IsUserAnAdmin]
add eax, edx
mov byte [ebp - 0x225], al
mov eax, 0x1d
cdq
mov ecx, 0xd
idiv ecx
movsx edx, dl
mov eax, 1
shl eax, 2
movsx ecx, byte [eax + str.IsUserAnAdmin]
add ecx, edx
mov byte [ebp - 0x224], cl
mov eax, 0x1d
cdq
mov ecx, 0xd
idiv ecx
movsx edx, dl
mov eax, 1
imul ecx, eax, 5
movsx eax, byte [ecx + str.IsUserAnAdmin]
add eax, edx
mov byte [ebp - 0x223], al
mov eax, 0x1d
cdq
mov ecx, 0xd
idiv ecx
movsx edx, dl
mov eax, 1
imul ecx, eax, 6
movsx eax, byte [ecx + str.IsUserAnAdmin]
add eax, edx
mov byte [ebp - 0x222], al
mov eax, 0x1d
cdq
mov ecx, 0xd
idiv ecx
movsx edx, dl
mov eax, 1
imul ecx, eax, 7
movsx eax, byte [ecx + str.IsUserAnAdmin]
add eax, edx
mov byte [ebp - 0x221], al
mov eax, 0x1d
cdq
mov ecx, 0xd
idiv ecx
movsx edx, dl
mov eax, 1
shl eax, 3
movsx ecx, byte [eax + str.IsUserAnAdmin]
add ecx, edx
mov byte [ebp - 0x220], cl
mov eax, 0x1d
cdq
mov ecx, 0xd
idiv ecx
movsx edx, dl
mov eax, 1
imul ecx, eax, 9
movsx eax, byte [ecx + str.IsUserAnAdmin]
add eax, edx
mov byte [ebp - 0x21f], al
mov eax, 0x1d
cdq
mov ecx, 0xd
idiv ecx
movsx edx, dl
mov eax, 1
imul ecx, eax, 0xa
movsx eax, byte [ecx + str.IsUserAnAdmin]
add eax, edx
mov byte [ebp - 0x21e], al
mov eax, 0x1d
cdq
mov ecx, 0xd
idiv ecx
movsx edx, dl
mov eax, 1
imul ecx, eax, 0xb
movsx eax, byte [ecx + str.IsUserAnAdmin]
add eax, edx
mov byte [ebp - 0x21d], al
mov eax, 0x1d
cdq
mov ecx, 0xd
idiv ecx
movsx edx, dl
mov eax, 1
imul ecx, eax, 0xc
movsx eax, byte [ecx + str.IsUserAnAdmin]
add eax, edx
mov byte [ebp - 0x21c], al
mov byte [ebp - 0x21b], 0
lea ecx, [ebp - 0x228]
call fcn.0043df70
mov dword [ebp - 0x2bc], eax
mov ecx, dword [0x481484]
mov dword [ebp - 0x2c0], ecx
mov edx, dword [ebp - 0x2bc]
push edx
mov eax, dword [ebp - 0x2c0]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x2c4], eax
call dword [ebp - 0x2c4]
test eax, eax
jne 0x43d195
push 0x472054
lea ecx, [ebp - 0x288]
call fcn.0041ee60
lea ecx, [ebp - 0x218]
push ecx
lea ecx, [ebp - 0x270]
call fcn.0041ee60
lea edx, [ebp - 0x288]
push edx
lea eax, [ebp - 0x270]
push eax
call fcn.00440660
add esp, 8
lea ecx, [ebp - 0x270]
call fcn.0042d9e0
lea ecx, [ebp - 0x288]
call fcn.0042d9e0
xor eax, eax
jmp 0x43d49c
push 0x30
push 0
lea ecx, [ebp - 0x30c]
push ecx
call fcn.00453ae0
add esp, 0xc
mov edx, dword [ebp - 0x310]
mov dword [ebp - 0x2ac], edx
mov dword [ebp - 4], 0
cmp dword [0x480038], 0
jne 0x43d1df
push 1
call fcn.00451fa9
add esp, 4
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2c8]
mov dword [0x480038], eax
mov ecx, dword [0x480038]
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 4], 0xffffffff
lea edx, [ebp - 0x2a0]
push edx
mov ecx, dword [ebp - 0x2ac]
call fcn.0043e170
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x2a8], eax
mov ecx, dword [ebp - 0x2a8]
mov dword [ebp - 0x2b4], ecx
mov edx, dword [ebp - 0x2a8]
cmp dword [edx + 0x14], 7
jbe 0x43d23a
mov dword [ebp - 0x2b0], 1
jmp 0x43d244
mov dword [ebp - 0x2b0], 0
mov al, byte [ebp - 0x2b0]
mov byte [ebp - 0x2a1], al
movzx ecx, byte [ebp - 0x2a1]
test ecx, ecx
je 0x43d275
mov edx, dword [ebp - 0x2a8]
mov eax, dword [edx]
mov dword [ebp - 0x2d0], eax
mov ecx, dword [ebp - 0x2d0]
mov dword [ebp - 0x2b4], ecx
mov edx, dword [ebp - 0x2b4]
mov dword [ebp - 0x2d4], edx
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x2b8], eax
lea ecx, [ebp - 0x2a0]
call fcn.0042d9e0
mov dword [ebp - 0x30c], 0x30
mov dword [ebp - 0x308], 3
mov dword [ebp - 0x304], 0x43d4c0
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2fc], 0
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x2f8], ecx
push 0x7f00
mov edx, dword [ebp - 0x2f8]
push edx
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [ebp - 0x2f4], eax
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2ec], 6
mov dword [ebp - 0x2e8], 0
mov eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x2e4], eax
push 0x7f00
mov ecx, dword [ebp - 0x2f8]
push ecx
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [ebp - 0x2e0], eax
lea edx, [ebp - 0x30c]
push edx
call dword [sym.imp.USER32.dll_RegisterClassExW]
movzx eax, ax
test eax, eax
jne 0x43d354
mov eax, 1
jmp 0x43d49c
mov ecx, dword [ebp + 8]
mov dword [0x481430], ecx
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
sub eax, 0x46
mov dword [ebp - 0x2d8], eax
push 0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
sub eax, 0xfa
mov dword [ebp - 0x2dc], eax
push 0
mov edx, dword [ebp + 8]
push edx
push 0
push 0
push 0x8c
push 0x1f4
mov eax, dword [ebp - 0x2d8]
push eax
mov ecx, dword [ebp - 0x2dc]
push ecx
push 0xcf0000
push 0x472058
mov edx, dword [ebp - 0x2b8]
push edx
push 8
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x481438], eax
cmp dword [0x481438], 0
jne 0x43d3de
mov eax, 1
jmp 0x43d49c
push 0x40000
push 0xfffffffffffffff0
mov eax, dword [0x481438]
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [0x481438]
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x481438]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0
push 0x10000
push 0x111
mov ecx, dword [0x481438]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0
lea edx, [ebp - 0x32c]
push edx
call dword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x43d45a
lea eax, [ebp - 0x32c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea ecx, [ebp - 0x32c]
push ecx
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x43d427
cmp dword [0x481488], 0
je 0x43d470
mov edx, dword [0x481488]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [0x480040]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ecx, dword [0x481484]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov edx, dword [0x48143c]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x324]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00451fec
mov esp, ebp
pop ebp
ret 0x10