Function at 0x408b3b
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x452ee0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x44d62c], 0
je 0x408bcc
mov dword [ebp - 8], 0
jmp 0x408b67
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x1ff
jge 0x408b94
mov ecx, dword [ebp - 8]
cmp ecx, dword [0x44d654]
jne 0x408b7d
jmp 0x408b5e
mov edx, dword [ebp - 8]
cmp dword [edx*4 + 0x4514e0], 0
jne 0x408b92
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
jmp 0x408b94
jmp 0x408b5e
cmp dword [ebp - 8], 0x1ff
jne 0x408bc7
push 0x452ee0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp + 0xc]
push edx
push str._SYSTEM__Event_Received_Buffer_Area_is_Full_2____Reject_Data_is___d___s__n
call fcn.0040762a
add esp, 0xc
mov eax, 1
jmp 0x408e32
jmp 0x408c79
mov dword [ebp - 8], 0
jmp 0x408bde
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x1ff
jge 0x408bf8
mov ecx, dword [ebp - 8]
cmp dword [ecx*4 + 0x4514e0], 0
je 0x408bf6
jmp 0x408bf8
jmp 0x408bd5
cmp dword [ebp - 8], 0x1ff
jne 0x408c14
mov dword [0x44d620], 0
mov dword [ebp - 4], 0
jmp 0x408c79
mov dword [ebp - 8], 0
jmp 0x408c26
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0x1ff
jge 0x408c46
mov eax, dword [ebp - 8]
cmp dword [eax*4 + 0x4514e0], 0
jne 0x408c44
mov ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
jmp 0x408c46
jmp 0x408c1d
cmp dword [ebp - 8], 0x1ff
jne 0x408c79
push 0x452ee0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp + 0xc]
push eax
push str._SYSTEM__Event_Received_Buffer_Area_is_Full_3____Reject_Data_is___d___s__n
call fcn.0040762a
add esp, 0xc
mov eax, 2
jmp 0x408e32
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx*4 + 0x451da0]
mov dword [ecx*4 + 0x44fb00], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
mov dword [ecx*4 + 0x451da0], edx
mov eax, dword [ebp - 4]
cmp dword [eax*4 + 0x452620], 0
je 0x408cde
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ecx*4 + 0x44fb00]
cmp eax, dword [edx*4 + 0x451da0]
jge 0x408cde
mov ecx, dword [ebp - 4]
mov edx, dword [ecx*4 + 0x452620]
push edx
call fcn.00424f83
add esp, 4
mov eax, dword [ebp - 4]
mov dword [eax*4 + 0x452620], 0
mov ecx, dword [ebp - 4]
cmp dword [ecx*4 + 0x452620], 0
je 0x408d01
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [edx*4 + 0x44fb00]
cmp ecx, dword [eax*4 + 0x451da0]
jge 0x408d4d
push 1
mov edx, dword [ebp - 4]
mov eax, dword [edx*4 + 0x451da0]
add eax, 1
push eax
call fcn.00424fbb
add esp, 8
mov ecx, dword [ebp - 4]
mov dword [ecx*4 + 0x452620], eax
mov edx, dword [ebp - 4]
cmp dword [edx*4 + 0x452620], 0
jne 0x408d4b
mov eax, dword [ebp - 4]
mov dword [eax*4 + 0x451da0], 0
push str._SYSTEM__Event_Receive_Buffer_Initial_Error_4_n
call fcn.0040762a
add esp, 4
jmp 0x408d61
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx*4 + 0x44fb00]
mov dword [ecx*4 + 0x451da0], eax
mov ecx, dword [ebp - 4]
cmp dword [ecx*4 + 0x452620], 0
je 0x408d9a
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx*4 + 0x452620]
push edx
call fcn.00425000
add esp, 0xc
mov eax, dword [ebp - 4]
mov ecx, dword [eax*4 + 0x452620]
mov edx, dword [ebp + 0xc]
mov byte [ecx + edx], 0
mov eax, dword [ebp - 4]
mov ecx, dword [0x44d620]
mov dword [eax*4 + 0x450460], ecx
mov edx, dword [0x44d620]
add edx, 1
mov dword [0x44d620], edx
mov eax, dword [ebp - 4]
mov dword [eax*4 + 0x4514e0], 1
mov ecx, dword [0x44d624]
add ecx, 1
mov dword [0x44d624], ecx
push 0x452ee0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [ebp - 4]
push edx
push 0
push 0x4085bd
call fcn.00425eba
add esp, 0xc
cmp eax, 0xffffffff
jne 0x408e30
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
push str._SYSTEM__Event_Received_Threading_Fail__2____Reject_Data_is___d___s__n
call fcn.0040762a
add esp, 0xc
mov edx, dword [ebp - 4]
mov dword [edx*4 + 0x4514e0], 0
mov eax, dword [0x44d624]
sub eax, 1
mov dword [0x44d624], eax
mov eax, 3
jmp 0x408e32
xor eax, eax
mov esp, ebp
pop ebp
ret