Function at 0x437978
Capabilities:
Resume thread
Suspend thread

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push ebx
push esi
mov esi, ecx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x437dbb
push dword fs:[eax]
mov dword fs:[eax], esp
mov bl, 1
add edx, 0xffffff00
cmp edx, 0x1c
ja case.default.0x4379a7
jmp dword [edx*4 + 0x4379ae]
mov edx, dword [ebp + 0xc]
mov eax, esi
call fcn.00436d74
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
call fcn.0043cf90
jmp 0x437da0
mov eax, dword [0x449b44]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_SuspendThread
mov eax, dword [0x449c58]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_SuspendThread
jmp 0x437da0
mov eax, dword [0x449b44]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_ResumeThread
mov eax, dword [0x449c58]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_ResumeThread
jmp 0x437da0
mov ecx, dword [ebp + 0xc]
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.00436e90
jmp 0x437da0
lea eax, [ebp - 8]
push eax
mov eax, dword [0x449c14]
mov eax, dword [eax]
xor ecx, ecx
mov edx, esi
call fcn.004387f8
mov eax, dword [ebp - 8]
call fcn.0043b3c4
xor al, 1
and eax, 0x7f
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
mov ecx, dword [ebp + 0xc]
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.00436f18
jmp 0x437da0
lea eax, [ebp - 8]
push eax
mov eax, dword [0x449c14]
mov eax, dword [eax]
mov ecx, 1
mov edx, esi
call fcn.004387f8
mov eax, dword [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [0x449c14]
mov eax, dword [eax]
xor ecx, ecx
mov edx, esi
call fcn.004387f8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
pop ecx
call fcn.00436fa4
jmp 0x437da0
mov ecx, dword [ebp + 0xc]
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.00437014
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
lea eax, [ebp - 8]
push eax
mov eax, dword [0x449c14]
mov eax, dword [eax]
xor ecx, ecx
mov edx, esi
call fcn.004387f8
mov eax, dword [ebp - 8]
call fcn.00437174
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
mov eax, dword [0x449c14]
mov eax, dword [eax]
mov ecx, 1
mov edx, esi
call fcn.00438854
push eax
lea eax, [ebp - 8]
push eax
mov eax, dword [0x449c14]
mov eax, dword [eax]
xor ecx, ecx
mov edx, esi
call fcn.004387f8
mov eax, dword [ebp - 8]
pop edx
call fcn.004371a8
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
mov ecx, dword [ebp + 0xc]
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.004371e0
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
lea eax, [ebp - 8]
push eax
mov eax, dword [0x449c14]
mov eax, dword [eax]
xor ecx, ecx
mov edx, esi
call fcn.004387f8
mov eax, dword [ebp - 8]
call fcn.0043cf4c
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
lea eax, [ebp - 8]
push eax
mov eax, dword [0x449c14]
mov eax, dword [eax]
xor ecx, ecx
mov edx, esi
call fcn.004387f8
mov eax, dword [ebp - 8]
call fcn.0043cf68
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
mov ecx, dword [ebp + 0xc]
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.0043730c
jmp 0x437da0
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
call fcn.00437418
jmp 0x437da0
lea eax, [ebp - 8]
push eax
mov eax, dword [0x449c14]
mov eax, dword [eax]
xor ecx, ecx
mov edx, esi
call fcn.004387f8
mov edx, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
call fcn.004374fc
jmp 0x437da0
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
call fcn.004375fc
jmp 0x437da0
mov ecx, dword [ebp + 0xc]
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.00437670
jmp 0x437da0
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.00437718
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.00437844
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
lea eax, [ebp - 8]
push eax
mov eax, dword [0x449c14]
mov eax, dword [eax]
mov ecx, 1
mov edx, esi
call fcn.004387f8
mov eax, dword [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [0x449c14]
mov eax, dword [eax]
xor ecx, ecx
mov edx, esi
call fcn.004387f8
mov eax, dword [ebp - 0xc]
pop edx
call fcn.0042add8
jmp 0x437da0
mov eax, esi
call fcn.004378d4
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
mov eax, dword [0x449c14]
mov eax, dword [eax]
xor ecx, ecx
mov edx, esi
call fcn.00438854
test eax, eax
jne 0x437d01
push 0
push 0x20
push 0x20
push 1
push 0x437dcc
mov eax, dword [0x449bc8]
mov eax, dword [eax]
push eax
call sub.user32.dll_LoadImageA
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
push 0
push 0x10
push 0x10
push 1
push 0x437dcc
mov eax, dword [0x449bc8]
mov eax, dword [eax]
push eax
call sub.user32.dll_LoadImageA
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
call fcn.0043b94c
xor al, 1
and eax, 0x7f
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
mov ecx, dword [ebp + 0xc]
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.004377a4
jmp 0x437da0
lea eax, [ebp - 8]
push eax
mov eax, dword [0x449c14]
mov eax, dword [eax]
xor ecx, ecx
mov edx, esi
call fcn.004387f8
mov eax, dword [ebp - 8]
call fcn.0043d748
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
call fcn.0043d778
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
lea eax, [ebp - 8]
push eax
mov eax, dword [0x449c14]
mov eax, dword [eax]
xor ecx, ecx
mov edx, esi
call fcn.004387f8
mov eax, dword [ebp - 8]
call fcn.0043d6f4
mov edx, dword [ebp + 8]
mov dword [edx], eax
jmp 0x437da0
xor ebx, ebx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x437dc2
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004035dc
ret