Function at 0x43cadd
Capabilities:
Hide graphical window

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 0xc]
and dword [ebp - 4], 0
test eax, eax
push ebx
mov ebx, ecx
je 0x43cb15
xor ecx, ecx
inc ecx
cmp eax, ecx
jle 0x43cd1b
cmp eax, 3
jle 0x43cb15
cmp eax, 5
jle 0x43cb12
cmp eax, 6
je 0x43cb15
jmp 0x43cd1b
mov dword [ebp - 4], ecx
push esi
push 0x24
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
pop ecx
je 0x43cb2d
mov ecx, eax
call fcn.0045291a
mov esi, eax
jmp 0x43cb2f
xor esi, esi
test esi, esi
je 0x43cd1a
mov eax, dword [ebp + 8]
push dword [eax + 0x10]
mov ecx, esi
call fcn.0045297b
test eax, eax
je 0x43cd11
push edi
push 4
pop eax
push 0x1c
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
pop ecx
je 0x43cb73
mov ecx, eax
call fcn.0043ba21
mov edi, eax
mov dword [ebp + 8], edi
jmp 0x43cb7a
and dword [ebp + 8], 0
mov edi, dword [ebp + 8]
test edi, edi
je 0x43cc89
mov eax, dword [esi + 0x10]
push 0x10000
push eax
mov ecx, edi
call fcn.00450b6a
test eax, eax
je 0x43cc80
or dword [esi + 0x20], 0x10
cmp dword [ebp + 0xc], 0
mov eax, dword [ebp - 4]
mov dword [edi + 0x18], eax
mov dword [ebp - 4], edi
je 0x43cbb3
cmp dword [ebp + 0xc], 6
jne 0x43cbbb
push edi
mov ecx, ebx
call fcn.0043c4ef
cmp dword [ebp + 0xc], 0
je 0x43cbcd
cmp dword [ebp + 0xc], 3
je 0x43cbcd
cmp dword [ebp + 0xc], 5
jne 0x43cc17
push 0x60
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
pop ecx
je 0x43cbe5
push dword [ebp + 0x10]
mov ecx, eax
call fcn.0043ba45
jmp 0x43cbe7
xor eax, eax
test eax, eax
mov dword [ebx + 0x48], eax
je 0x43cc17
mov dword [eax + 0x14], 0x244
mov edi, dword [edi + 0x10]
lea eax, [ebx + 0x34]
lea ecx, [ebx + 0xc]
push eax
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [ebx + 0x48]
push eax
push edi
call fcn.00448d52
mov eax, dword [ebx + 0x48]
mov edi, dword [ebp + 8]
mov dword [ebp - 4], eax
cmp dword [ebp + 0xc], 0
je 0x43cc29
cmp dword [ebp + 0xc], 2
je 0x43cc29
cmp dword [ebp + 0xc], 4
jne 0x43cc80
push 0x60
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
test eax, eax
pop ecx
je 0x43cc43
push dword [ebp + 0x10]
mov ecx, eax
push 1
call fcn.00448b83
jmp 0x43cc45
xor eax, eax
test eax, eax
mov dword [ebx + 0x44], eax
je 0x43cc80
mov dword [eax + 0x14], 0xc4
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x10]
lea eax, [ebx + 0x34]
lea ecx, [ebx + 0xc]
push eax
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [ebx + 0x44]
push eax
push edi
call fcn.00448d52
mov eax, dword [ebx + 0x44]
push 0
push dword [eax + 0x10]
call dword [fcn.0040154c]
mov edi, dword [ebp + 8]
add edi, 0xc
mov eax, dword [edi]
push edi
call dword [eax + 8]
xor eax, eax
cmp dword [ebp + 0xc], eax
je 0x43cc96
cmp dword [ebp + 0xc], 6
jne 0x43cd01
push eax
push 4
push eax
push eax
push esi
call fcn.0043c36f
mov ecx, eax
test ecx, ecx
mov dword [ebp + 0x10], ecx
je 0x43cd01
or dword [esi + 0x20], 0x20
mov eax, dword [ecx + 0x28]
and eax, 0xfffffff9
or eax, 9
mov dword [ecx + 0x28], eax
xor eax, eax
lea edi, [ebp - 0x14]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0
stosd dword es:[edi], eax
lea eax, [ebp - 0x14]
push eax
xor edi, edi
inc edi
push edi
push 4
push 0x4058d0
push ecx
call fcn.0043c246
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x43cce4
mov dword [eax + 0x14], edi
mov eax, dword [ebp - 8]
test eax, eax
je 0x43ccee
mov dword [eax + 0x14], edi
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x24], 3
add eax, 0xc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp + 0xc]
mov ecx, ebx
push esi
call fcn.0043c418
or byte [esi + 0x20], 0x80
pop edi
lea eax, [esi + 0xc]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
pop esi
pop ebx
leave
ret 0xc