Function at 0x433b70
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
cmp dword [ebp + 0x1c], 0
push ebx
push esi
push edi
mov ebx, ecx
jne 0x433de0
mov esi, dword [ebp + 0xc]
lea edx, [ebx + 0x794]
cmp esi, 1
jne 0x433c23
push dword [esp + 0x10]
xor eax, eax
lea edi, [edx + 4]
test edx, edx
cmove ecx, eax
mov eax, dword [ecx + 4]
mov dword [edx + 0x820], eax
lea eax, [edi + 0x20]
mov esi, dword [ecx + 4]
push eax
push 0x772af8
call fcn.00428980
add esp, 8
movzx eax, ax
mov ecx, edi
push eax
push 0
push 0
push 0x6400000
push 0
push 0
push esi
call fcn.00428810
push 0
push dword [ebx + 0x79c]
call dword [sym.imp.USER32.dll_EnableWindow]
push 0xfffffffffffffff0
push dword [ebx + 0x79c]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, eax
and ecx, 0xff33ffff
cmp eax, ecx
je 0x433c15
push ecx
push 0xfffffffffffffff0
push dword [ebx + 0x79c]
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov edi, dword [ebp + 0x18]
mov esi, dword [ebp + 0xc]
mov dword [edi], 0
jmp 0x433c7b
cmp esi, 0xf
jne 0x433c42
mov dword [edx], 1
push 0
mov ecx, edx
call fcn.00433a50
mov edi, dword [ebp + 0x18]
mov dword [edi], 0
jmp 0x433c7b
cmp esi, 3
jne 0x433c4b
push 1
jmp 0x433c30
cmp esi, 5
jne 0x433c57
cmp dword [edx], 0
je 0x433c37
jmp 0x433c2e
cmp esi, 0x18
jne 0x433c78
cmp dword [ebp + 0x10], 1
je 0x433c37
push 0
push dword [edx + 8]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edi, dword [ebp + 0x18]
mov dword [edi], 0
jmp 0x433c7b
mov edi, dword [ebp + 0x18]
push 0
push edi
push dword [ebp + 0x14]
mov ecx, ebx
push dword [ebp + 0x10]
push esi
push dword [ebp + 8]
call fcn.00427920
test eax, eax
jne 0x433d42
cmp esi, 1
jne 0x433d50
mov ecx, ebx
call fcn.00433410
lea eax, [ebx + 0x30]
neg ebx
sbb ebx, ebx
and ebx, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call fcn.0042a200
mov ecx, dword [eax + 8]
lea esi, [eax + 4]
mov eax, dword [esi + 8]
cmp ecx, eax
jne 0x433d28
mov edx, dword [esi]
lea edi, [esp + 0x14]
cmp edi, edx
mov edi, dword [ebp + 0x18]
jb 0x433ceb
lea edi, [esp + 0x14]
lea eax, [edx + eax*4]
cmp edi, eax
mov edi, dword [ebp + 0x18]
jb 0x433deb
mov eax, dword [esi + 8]
test eax, eax
jne 0x433cfa
mov eax, 1
mov dword [esp + 0x10], eax
jmp 0x433d0c
lea eax, [ecx + ecx]
mov dword [esp + 0x10], eax
test eax, eax
js 0x433d3c
cmp eax, 0x1fffffff
ja 0x433d3c
push 4
push eax
push edx
call fcn.0054136d
add esp, 0xc
test eax, eax
je 0x433d3c
mov ecx, dword [esp + 0x10]
mov dword [esi + 8], ecx
mov ecx, dword [esi + 4]
mov dword [esi], eax
mov eax, dword [esi]
lea eax, [eax + ecx*4]
test eax, eax
je 0x433d36
mov dword [eax], ebx
mov ecx, dword [esi + 4]
lea eax, [ecx + 1]
mov dword [esi + 4], eax
mov dword [edi], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp esi, 2
jne 0x433de0
lea eax, [ebx + 0x30]
neg ebx
sbb ebx, ebx
and ebx, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call fcn.0042a200
mov edx, dword [eax + 8]
xor ecx, ecx
lea esi, [eax + 4]
test edx, edx
jle 0x433dd7
mov edi, dword [esi]
mov eax, edi
nop
cmp dword [eax], ebx
je 0x433da0
inc ecx
add eax, 4
cmp ecx, edx
jl 0x433d80
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0xffffffff
je 0x433dd7
test ecx, ecx
js 0x433dd7
cmp ecx, edx
jge 0x433dd7
lea eax, [edx - 1]
cmp ecx, eax
je 0x433dd1
sub edx, ecx
lea ecx, [edi + ecx*4]
shl edx, 2
lea eax, [edx - 4]
push eax
lea eax, [ecx + 4]
push eax
push edx
push ecx
call fcn.0042a160
mov edx, dword [esi + 4]
add esp, 0x10
lea eax, [edx - 1]
mov dword [esi + 4], eax
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x18
push 0x80004005
call fcn.004222a0
int3