Function at 0x43e2c4
Capabilities:
Hide graphical window

Disassembly:
push ebx
push esi
push edi
push ebp
push eax
mov eax, 4
add esp, 0xfffff004
push eax
dec eax
jne 0x43e2ce
mov eax, dword [esp + 0x4000]
add esp, 0xffffffcc
mov edi, dword [0x4be348]
mov byte [0x4c12d6], 0
mov byte [0x4c12d4], 1
xor eax, eax
mov dword [0x4c12b8], eax
mov dword [0x4c12bc], eax
xor eax, eax
mov dword [0x4c12a0], eax
push 0x7f02
push 0
call sub.user32.dll_LoadCursorA
push eax
call sub.user32.dll_SetCursor
mov eax, dword [0x4be784]
cmp dword [eax + 0x17ec], 0
jne 0x43e367
mov eax, dword [0x4be784]
mov dword [eax + 0x17e4], 0xb1
mov eax, dword [0x4be784]
mov dword [eax + 0x17ec], 0x270
mov eax, dword [0x4be784]
mov dword [eax + 0x17e8], 0x49
mov eax, dword [0x4be784]
mov dword [eax + 0x17f0], 0x20e
xor eax, eax
mov dword [0x4c12c8], eax
mov word [0x4c12c0], 0x50
call fcn.0043dee8
call fcn.0043e214
push 0
mov eax, dword [0x4bf704]
push eax
push 0
mov eax, dword [0x4beb60]
mov eax, dword [eax]
push eax
mov eax, dword [0x4be784]
mov eax, dword [eax + 0x17f0]
mov edx, dword [0x4be784]
sub eax, dword [edx + 0x17e8]
push eax
mov eax, dword [0x4be784]
mov eax, dword [eax + 0x17ec]
mov edx, dword [0x4be784]
sub eax, dword [edx + 0x17e4]
push eax
mov eax, dword [0x4be784]
mov eax, dword [eax + 0x17e8]
push eax
mov eax, dword [0x4be784]
mov eax, dword [eax + 0x17e4]
push eax
push 0x84ec00c5
mov eax, dword [0x4bedb0]
push eax
mov eax, dword [0x4bed64]
push eax
push 0x10100
call sub.user32.dll_CreateWindowExA
mov dword [edi], eax
mov eax, dword [0x4bec50]
mov byte [eax], 1
mov eax, dword [0x4bee4c]
mov eax, dword [eax]
push eax
push 1
push 0x80
mov eax, dword [edi]
push eax
call sub.user32.dll_SendMessageA
cmp byte [0x4c129c], 0
je 0x43e543
cmp byte [0x4c129d], 0
je 0x43e437
mov dword [esp + 0xc], 0x50010800
jmp 0x43e43f
mov dword [esp + 0xc], 0x50010000
push 0
mov eax, dword [0x4bf704]
push eax
push 2
mov eax, dword [edi]
push eax
push 0x13
push 0x4b
push 0xa
push 0x5a
mov eax, dword [esp + 0x2c]
push eax
push 0x43ec3c
mov eax, dword [0x4be9a8]
mov eax, dword [eax + 4]
push eax
push 0x200
call sub.user32.dll_CreateWindowExA
push 0
mov eax, dword [0x4bf704]
push eax
push 2
mov eax, dword [edi]
push eax
push 0xf
push 0x50
push 0xd
push 8
push 0x50000000
mov ax, 0x236
call fcn.004aa600
push eax
mov eax, dword [0x4be9a8]
mov eax, dword [eax + 8]
push eax
push 0
call sub.user32.dll_CreateWindowExA
mov eax, dword [0x4bedb0]
mov byte [eax + 1], 0
mov esi, 1
mov ebx, 0x4c12a4
mov eax, esi
add eax, eax
add al, 0x3a
mov edx, dword [0x4bedb0]
mov byte [edx], al
cmp esi, 3
jne 0x43e4e0
mov ax, 6
call fcn.004aa600
mov edx, eax
mov eax, dword [0x4bedb0]
call fcn.004b81b0
push 0
mov eax, dword [0x4bf704]
push eax
push 1
mov eax, dword [edi]
push eax
push 0x13
cmp esi, 3
sete al
and eax, 0x7f
imul eax, eax, 0x32
add eax, 0x14
push eax
push 0xa
mov eax, esi
dec eax
imul eax, eax, 0x16
add eax, 0xaa
push eax
push 0x50014000
mov eax, dword [0x4bedb0]
push eax
mov eax, dword [0x4be9a8]
mov eax, dword [eax]
push eax
push 0
call sub.user32.dll_CreateWindowExA
mov dword [ebx], eax
inc esi
add ebx, 4
cmp esi, 4
jne 0x43e4b8
call fcn.0043e0b4
mov dword [0x4c12d0], 0x41
jmp 0x43e54d
mov dword [0x4c12d0], 0x1e
mov ebp, dword [0x4c1298]
test ebp, ebp
jle 0x43e95b
mov esi, 1
mov eax, esi
dec eax
mov ebx, eax
shl ebx, 6
add ebx, dword [0x4c1290]
cmp byte [ebx + 0x33], 0x28
ja 0x43e953
mov al, byte [ebx + 0x33]
cmp al, 0x27
je 0x43e583
cmp al, 0x28
jne 0x43e5e5
push 0
mov eax, dword [0x4bf704]
push eax
push 1
mov eax, dword [edi]
push eax
push 0x15
movsx eax, word [0x4c12c2]
movsx edx, word [0x4c12c4]
add eax, edx
push eax
mov eax, dword [0x4c12d0]
sub eax, 2
push eax
push 8
push 0x50000000
push 0
mov eax, dword [0x4be9a8]
mov eax, dword [eax + 8]
push eax
push 0
call sub.user32.dll_CreateWindowExA
add dword [0x4c12d0], 0x13
cmp byte [ebx + 0x33], 0x27
jne 0x43e953
lea edx, [ebx + 8]
mov eax, dword [0x4bedb0]
call fcn.004b81b0
jmp 0x43e64d
mov eax, dword [0x4be784]
cmp byte [eax + 0x18be], 0
jne 0x43e61b
mov eax, dword [0x4bec7c]
mov eax, dword [eax]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
mov eax, dword [eax + 0xc]
cmp dword [eax + 0x5c], 0
je 0x43e637
mov eax, dword [0x4be784]
cmp byte [eax + 0x18e5], 0
je 0x43e637
push dword [ebx + 4]
push dword [ebx]
xor edx, edx
xor eax, eax
call fcn.004af0b0
mov edx, eax
mov eax, dword [0x4bedb0]
call fcn.004b81b0
jmp 0x43e64d
push dword [ebx + 4]
push dword [ebx]
call fcn.004b849c
mov edx, eax
mov eax, dword [0x4bedb0]
call fcn.004b81b0
push 0
mov eax, dword [0x4bf704]
push eax
mov eax, esi
neg eax
sub eax, 2
push eax
mov eax, dword [edi]
push eax
push 0x10
cmp byte [ebx + 0x33], 0x27
setne al
and eax, 0x7f
movsx edx, word [0x4c12c0]
sub edx, 8
imul edx
movsx edx, word [0x4c12c2]
movsx ecx, word [0x4c12c4]
add edx, ecx
sub edx, 8
cmp byte [ebx + 0x33], 0x27
sete cl
and ecx, 0x7f
imul edx, ecx
add eax, edx
push eax
mov eax, dword [0x4c12d0]
push eax
push 8
push 0x50000880
mov eax, dword [0x4bedb0]
push eax
mov eax, dword [0x4be9a8]
mov eax, dword [eax + 4]
push eax
push 0
call sub.user32.dll_CreateWindowExA
cmp byte [ebx + 0x33], 0x27
jae 0x43e94c
push 0
mov edx, dword [0x4bf704]
push edx
push 0
mov edx, dword [edi]
push edx
push 0x13
movsx edx, word [0x4c12c2]
movsx eax, word [0x4c12c0]
sub edx, eax
sub edx, 5
push edx
mov edx, dword [0x4c12d0]
push edx
push eax
push 0x50000880
lea eax, [ebx + 8]
push eax
test esi, esi
sete al
and eax, 0x7f
add eax, 0x81
mov edx, dword [0x4be9a8]
mov eax, dword [edx + eax*4 - 0x200]
push eax
push 0
call sub.user32.dll_CreateWindowExA
mov al, byte [ebx + 0x33]
cmp al, 0x10
jb 0x43e72a
cmp al, 0x1b
jbe 0x43e72e
xor eax, eax
jmp 0x43e730
mov al, 1
mov byte [esp + 0x18], al
cmp byte [ebx + 0x34], 0
jne 0x43e77f
mov eax, dword [0x4bec7c]
mov eax, dword [eax]
mov edx, dword [0x4be754]
mov eax, dword [edx + eax*4 - 4]
cmp byte [eax + 0x438], 0
jne 0x43e77f
mov dword [esp + 0xc], 0x50010080
mov al, byte [ebx + 0x33]
cmp al, 2
je 0x43e76b
cmp al, 4
je 0x43e76b
cmp al, 8
jne 0x43e771
cmp byte [ebx + 0x36], 1
jne 0x43e775
cmp al, 0xa
jne 0x43e787
or dword [esp + 0xc], 0x2000
jmp 0x43e787
mov dword [esp + 0xc], 0x50010880
push 0
mov eax, dword [0x4bf704]
push eax
lea eax, [esi + 2]
push eax
mov eax, dword [edi]
push eax
push 0x14
movsx eax, word [0x4c12c4]
xor edx, edx
mov dl, byte [esp + 0x2c]
inc edx
mov ecx, edx
cdq
idiv ecx
push eax
mov eax, dword [0x4c12d0]
sub eax, 3
push eax
movsx eax, word [0x4c12c2]
push eax
mov eax, dword [esp + 0x2c]
push eax
push 0
mov eax, dword [0x4be9a8]
mov eax, dword [eax + 4]
push eax
push 0x200
call sub.user32.dll_CreateWindowExA
mov dword [esp + 4], eax
cmp dword [0x4c12a0], 0
jne 0x43e7ed
mov eax, dword [esp + 4]
mov dword [0x4c12a0], eax
cmp dword [esp + 4], 0
jne 0x43e826
mov eax, dword [edi]
push eax
call sub.user32.dll_DestroyWindow
push 0x7f00
push 0
call sub.user32.dll_LoadCursorA
push eax
call sub.user32.dll_SetCursor
mov ax, 0x13e
call fcn.004aa600
mov edx, 1
call fcn.004b12a8
jmp 0x43ec2b
cmp byte [esp + 0x18], 0
je 0x43e896
push 0
mov edx, dword [0x4bf704]
push edx
lea edx, [esi + 2]
add edx, dword [0x4c1298]
push edx
mov edx, dword [edi]
push edx
push 0x14
movsx edx, word [0x4c12c4]
sar edx, 1
jns 0x43e853
adc edx, 0
push edx
mov edx, dword [0x4c12d0]
sub edx, 3
push edx
movsx edx, word [0x4c12c2]
movsx eax, word [0x4c12c4]
add edx, eax
sar eax, 1
jns 0x43e875
adc eax, 0
sub edx, eax
push edx
mov eax, dword [esp + 0x2c]
push eax
push 0
mov eax, dword [0x4be9a8]
mov eax, dword [eax + 4]
push eax
push 0x200
call sub.user32.dll_CreateWindowExA
mov dword [esp + 8], eax
mov al, byte [ebx + 0x33]
cmp al, 0x1e
jb 0x43e8a1
cmp al, 0x23
jbe 0x43e8aa
lea edx, [ebx + 0x37]
mov dword [esp + 0x14], edx
jmp 0x43e8b1
mov edx, dword [ebx + 0x37]
mov dword [esp + 0x14], edx
xor edx, edx
mov dl, al
mov ecx, dword [0x4bedbc]
movzx edx, byte [ecx + edx]
mov dword [esp + 0x10], edx
cmp al, 0x22
jne 0x43e8ce
mov eax, dword [ebx + 0x3b]
mov dword [esp + 0x10], eax
mov al, byte [ebx + 0x35]
push eax
mov al, byte [ebx + 0x36]
push eax
lea eax, [ebx + 0x33]
push eax
lea edx, [esp + 0x26]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
call fcn.0041217c
test al, al
je 0x43e8fe
lea eax, [esp + 0x1a]
push eax
mov eax, dword [esp + 8]
push eax
call sub.user32.dll_SetWindowTextA
cmp byte [esp + 0x18], 0
je 0x43e94c
mov al, byte [ebx + 0x33]
inc eax
mov byte [esp + 0x19], al
mov al, byte [ebx + 0x35]
push eax
mov al, byte [ebx + 0x36]
push eax
lea eax, [esp + 0x21]
push eax
xor eax, eax
mov al, byte [ebx + 0x33]
mov edx, dword [0x4bedbc]
xor ecx, ecx
mov cl, byte [edx + eax]
mov edx, dword [0x4bedb0]
lea eax, [ebx + 0x37]
call fcn.0041217c
test al, al
je 0x43e94c
mov eax, dword [0x4bedb0]
push eax
mov eax, dword [esp + 0xc]
push eax
call sub.user32.dll_SetWindowTextA
add dword [0x4c12d0], 0x13
inc esi
dec ebp
jne 0x43e560
push 0
push 0x43dec4
mov eax, dword [edi]
push eax
call sub.user32.dll_EnumChildWindows
call fcn.0043df94
xor eax, eax
mov al, byte [0x4c129c]
imul ebx, eax, 0x23
add ebx, 5
push 0
mov eax, dword [0x4bf704]
push eax
push 1
mov eax, dword [edi]
push eax
push 0x14
movsx eax, word [0x4c12c0]
sub eax, 8
push eax
push ebx
push 8
push 0x50000001
mov eax, dword [0x4be82c]
push eax
mov eax, dword [0x4be9a8]
mov eax, dword [eax + 8]
push eax
push 0
call sub.user32.dll_CreateWindowExA
push 0
mov eax, dword [0x4bf704]
push eax
push 1
mov eax, dword [edi]
push eax
push 0x14
movsx eax, word [0x4c12c2]
movsx edx, word [0x4c12c0]
sub eax, edx
push eax
push ebx
movsx eax, word [0x4c12c0]
push eax
push 0x50000001
mov ax, 0x70
call fcn.004aa600
push eax
mov eax, dword [0x4be9a8]
mov eax, dword [eax + 8]
push eax
push 0
call sub.user32.dll_CreateWindowExA
push 0
mov eax, dword [0x4bf704]
push eax
push 1
mov eax, dword [edi]
push eax
push 0x14
movsx eax, word [0x4c12c4]
push eax
push ebx
movsx eax, word [0x4c12c2]
push eax
push 0x50000001
mov ax, 0x27a
call fcn.004aa600
push eax
mov eax, dword [0x4be9a8]
mov eax, dword [eax + 8]
push eax
push 0
call sub.user32.dll_CreateWindowExA
mov eax, dword [edi]
mov dl, 1
call fcn.004b67c0
push 0
mov eax, dword [edi]
push eax
call sub.user32.dll_GetSystemMenu
mov ebx, eax
push 0
push 0x46
mov eax, dword [0x4bedb0]
push eax
push 0x46
mov eax, dword [0x4be75c]
mov eax, dword [eax]
push eax
call sub.user32.dll_GetMenuStringA
mov eax, dword [0x4bedb0]
mov dl, 9
call fcn.004b8284
mov byte [eax], 0
mov eax, dword [0x4bedb0]
push eax
push 0x3e9
push 0x400
push 6
push ebx
call sub.user32.dll_InsertMenuA
mov eax, dword [edi]
mov edx, dword [0x4be490]
mov dword [edx], eax
push 5
mov eax, dword [edi]
push eax
call sub.user32.dll_ShowWindow
push 0
mov eax, dword [0x4beb60]
mov eax, dword [eax]
push eax
call sub.user32.dll_EnableWindow
mov byte [0x4c12d4], 0
jmp 0x43ebf3
cmp dword [esp + 0x401f], 0x100
jne 0x43eb70
cmp dword [esp + 0x4023], 0x1b
jne 0x43eae8
push 0
push 0
push 0x10
mov eax, dword [edi]
push eax
call sub.user32.dll_SendMessageA
cmp dword [esp + 0x4023], 0xd
jne 0x43eb70
push 2
mov eax, dword [edi]
push eax
call sub.user32.dll_GetDlgItem
cmp eax, dword [0x4c12a0]
jne 0x43eb0e
call fcn.0043e18c
jmp 0x43ebf3
mov eax, dword [0x4c12a0]
cmp eax, dword [0x4c12a4]
je 0x43eb4c
mov eax, dword [0x4c12a0]
cmp eax, dword [0x4c12a8]
je 0x43eb4c
mov eax, dword [0x4c12a0]
cmp eax, dword [0x4c12ac]
je 0x43eb4c
call fcn.0043da50
test al, al
je 0x43ebf3
call fcn.0043dac0
jmp 0x43ebf3
mov eax, dword [0x4c12a0]
push eax
xor edx, edx
mov ax, 1
call fcn.004066c4
push eax
push 0x111
mov eax, dword [edi]
push eax
call sub.user32.dll_SendMessageA
jmp 0x43ebf3
lea eax, [esp + 0x401b]
push eax
mov eax, dword [edi]
push eax
call sub.user32.dll_IsDialogMessageA
test eax, eax
jne 0x43eb9e
lea eax, [esp + 0x401b]
push eax
call sub.user32.dll_TranslateMessage
lea eax, [esp + 0x401b]
push eax
call sub.user32.dll_DispatchMessageA
cmp dword [esp + 0x401f], 0x100
jne 0x43ebba
cmp dword [esp + 0x4023], 9
jne 0x43ebba
call fcn.0043e050
cmp byte [0x4c12d4], 0
jbe 0x43ebf3
push 0xffffffffffffffff
mov eax, dword [0x4beb60]
mov eax, dword [eax]
push eax
call sub.user32.dll_EnableWindow
mov eax, dword [0x4beb60]
mov eax, dword [eax]
mov edx, dword [0x4be490]
mov dword [edx], eax
mov eax, dword [edi]
push eax
call sub.user32.dll_DestroyWindow
mov eax, dword [0x4bec50]
mov byte [eax], 0
jmp 0x43ec0e
push 0
push 0
push 0
lea eax, [esp + 0x4027]
push eax
call sub.user32.dll_GetMessageA
test eax, eax
jne 0x43eabf
push 0x7f00
push 0
call sub.user32.dll_LoadCursorA
push eax
call sub.user32.dll_SetCursor
cmp byte [0x4c12d4], 1
sete byte [esp]
mov al, byte [esp]
add esp, 0x4038
pop ebp
pop edi
pop esi
pop ebx
ret