Function at 0x10032240
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, ecx
push esi
mov dword [ebp - 4], ebx
mov esi, dword [ebx + 0x8c]
movzx eax, word [ebx + 0x88]
shl esi, 0x10
or esi, eax
cmp dword [ebx + 0xc4], 0
jne 0x10032288
cmp dword [ebx + 0xc0], 0
je 0x10032288
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x1003227e
push dword [ebp + 0x20]
push dword [ebp + 8]
call ecx
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov edx, dword [ebp + 0x10]
push edi
test edx, edx
jne 0x1003229b
mov edx, dword [ebx + 4]
add edx, 0x10
mov dword [ebp + 0x10], edx
jmp 0x100322b3
cmp dword [ebp + 0xc], 1
jne 0x10032474
mov ecx, dword [ebx + 4]
mov eax, dword [edx]
cmp eax, dword [ecx + 0x10]
jne 0x10032474
mov eax, dword [ebx + 0x48]
add eax, 3
cmp eax, 3
ja case.default.0x100322c2
jmp dword [eax*4 + 0x1003248c]
mov edi, 0xffffffc5
mov dword [ebx + 0x48], 0xfffffffe
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov edi, dword [ebx + 0x2ec]
lea ebx, [edi + 8]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [edi + 4]
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, dword [ebp - 4]
test edi, edi
je 0x1003231f
mov edi, 0xffffffc5
mov dword [ebx + 0x48], 0xfffffffe
mov eax, edi
mov dword [ebx + 0x48], 0xfffffffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [ebp + 0x14]
test ecx, ecx
jne 0x10032336
cmp dword [ebx + 0x18], ecx
jne 0x10032372
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x10032372
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10032360
test dl, dl
je 0x1003235c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10032360
add eax, 2
add ecx, 2
test dl, dl
jne 0x10032340
xor eax, eax
jmp 0x10032365
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10032372
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [ebx + 0x2e8]
test ecx, ecx
je case.0x100322c2.1
call fcn.10035a30
push dword [ebp + 0x14]
mov ecx, ebx
mov dword [ebx + 0x4c], 4
mov dword [ebx + 0x48], 0xfffffffd
call fcn.10032c60
mov edi, eax
test edi, edi
jne 0x10032479
push dword [ebp + 0x18]
mov ecx, ebx
push dword [ebp + 0x14]
call fcn.10033e10
mov eax, dword [ebx + 0xc4]
lea edx, [ebx + 0x94]
mov ecx, dword [ebp + 0x1c]
neg eax
mov dword [ebx + 0x98], esi
sbb eax, eax
mov dword [ebx + 0xa8], 1
and eax, 4
mov dword [ebx + 0xb8], ecx
mov dword [edx], eax
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0xa0], eax
mov eax, dword [ebx + 0x14]
mov dword [ebx + 0xa4], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x9c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0xac], eax
mov eax, dword [ebp + 0x20]
mov dword [ebx + 0xbc], eax
mov eax, dword [ebp + 0x14]
mov dword [ebx + 0xb0], eax
mov eax, dword [ebx + 0x28]
mov dword [ebx + 0xb4], eax
test ecx, ecx
je 0x10032448
push edi
push edi
push edx
push fcn.10039910
push 0x1000
push edi
call fcn.10073493
add esp, 0x18
mov dword [ebx + 0x90], eax
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
push edx
call fcn.10039910
mov edi, eax
test edi, edi
jne 0x10032479
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov edi, 0xffffffd4
mov dword [ebx + 0x48], 0xfffffffe
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov edi, 0xffffffdf
mov eax, edi
mov dword [ebx + 0x48], 0xfffffffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c