Function at 0xb8b340
Capabilities:
Terminate process

Disassembly:
sub esp, 0x5c
push ebx
mov ebx, dword [esp + 0x6c]
push ebp
push esi
mov ebp, dword [ebx + 0x18]
push edi
xor eax, eax
mov ecx, 0x100
mov edi, ebp
push 0x418da0
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 0x60]
mov esi, dword [ebp + 0x64]
or edi, 2
or esi, 3
mov dword [ebp + 0x60], edi
mov edi, dword [esp + 0x78]
mov dword [ebp + 0x64], esi
mov esi, dword [esp + 0x74]
push edi
push esi
mov dword [esp + 0x20], 0x1000
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], 5
mov dword [esp + 0x28], eax
mov dword [ebp + 0x4c], 1
call fcn.00b89c40
add esp, 0xc
cmp eax, 0xffffffff
je 0xb8b6f8
add eax, 0xffffffba
cmp eax, 0x30
ja 0xb8b6db
xor ecx, ecx
mov cl, byte [eax + 0x4067f4]
jmp dword [ecx*4 + 0x406794]
call fcn.00b8bb90
push 0x418da0
push edi
push esi
call fcn.00b89c40
add esp, 0xc
cmp eax, 0xffffffff
jne 0xb8b3aa
mov eax, dword [0x41a370]
cmp eax, esi
jne 0xb8b70b
call fcn.00b8bb90
mov eax, dword [0x41a370]
mov ecx, dword [edi + eax*4]
inc eax
cmp eax, esi
mov dword [0x41a388], ecx
mov dword [0x41a370], eax
jge 0xb8b816
mov ecx, dword [edi + eax*4]
lea edx, [esp + 0x10]
push 0
inc eax
push edx
push ecx
mov dword [0x41a370], eax
call fcn.00b8dac7
mov ecx, dword [esp + 0x1c]
add esp, 0xc
cmp byte [ecx], 0
jne 0xb8b7ea
cmp eax, 0xffffffff
ja 0xb8b7ea
mov dword [ebp + 4], eax
jmp 0xb8b809
mov edx, dword [0x41a370]
mov eax, dword [edi + edx*4 - 4]
push eax
push 0x418be8
call fcn.00b8d238
add esp, 8
push 1
call fcn.00b8d6c2
cmp dword [0x41a370], esi
jge 0xb8b816
call fcn.00b8bb90
mov ecx, dword [0x41a388]
push ecx
push ebx
call fcn.00b89a80
add esp, 8
test eax, eax
jge 0xb8b848
mov edx, dword [0x41a388]
push edx
push 0x418bc0
call fcn.00b8d238
add esp, 8
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
push ebx
call fcn.00b898f0
add esp, 4
test eax, eax
jge 0xb8b910
mov edx, dword [ebx + 0x68]
mov esi, dword [0x4100dc]
push 4
lea eax, [esp + 0x48]
push 0x28
lea ecx, [esp + 0x2c]
push eax
push ecx
push edx
call esi
mov eax, dword [esp + 0x24]
test eax, eax
jl 0xb8b94d
mov edx, dword [ebx + 0x68]
push 5
lea eax, [esp + 0x30]
push 0x18
lea ecx, [esp + 0x2c]
push eax
push ecx
push edx
mov byte [ebx + 0x64], 1
call esi
mov eax, dword [esp + 0x24]
test eax, eax
jl 0xb8b931
mov al, byte [esp + 0x41]
test al, al
jne 0xb8b931
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
test eax, eax
jg 0xb8b8d5
jl 0xb8b8c5
cmp ecx, 0x100000
jae 0xb8b8d5
mov eax, dword [0x41a388]
push eax
push 0x418ba0
jmp 0xb8b959
push 0
push 0x8000
push eax
push ecx
mov dword [ebx + 0x90], ecx
mov dword [ebx + 0x94], eax
call fcn.00b8d870
mov dword [ebx + 0x70], eax
mov dword [ebx + 0x74], edx
mov dword [ebx + 0x7c], 4
mov dword [ebx + 0x80], 0x10
mov dword [ebx + 0x84], 0x200
mov eax, dword [esp + 0x1c]
xor esi, esi
cmp eax, esi
je 0xb8b971
push eax
call fcn.00b8b240
add esp, 4
test al, al
jne 0xb8b971
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x5c
ret
mov ecx, dword [0x41a388]
push ecx
push 0x418b6c
call fcn.00b8d238
push ebx
call fcn.00b89c00
add esp, 0xc
jmp 0xb8b910
mov edx, dword [0x41a388]
push edx
push 0x418b38
call fcn.00b8d238
push ebx
call fcn.00b89c00
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
mov cl, byte [ebp + 0x60]
mov eax, 8
test al, cl
je 0xb8b98a
mov dword [esp + 0x18], esi
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x5c], esi
mov dword [ebp + 0x64], esi
cmp dword [ebp + 0x4c], esi
jne 0xb8b9a5
cmp dword [ebp + 0x5c], esi
jne 0xb8b99e
cmp dword [ebp + 0x64], esi
jne 0xb8b99e
cmp dword [ebp + 0x60], esi
je 0xb8b9a5
mov dword [ebp + 0x4c], 1
mov eax, dword [esp + 0x14]
sar eax, 0xa
push eax
call fcn.00b8b1a0
mov ecx, eax
add esp, 4
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0x1c], ecx
mov al, byte [0x41a37c]
test al, al
je 0xb8b9fe
mov eax, dword [ebp + 4]
cmp eax, esi
je 0xb8b9fe
xor edx, edx
mov esi, dword [ebp + 4]
test esi, esi
jne 0xb8ba7a
mov ecx, eax
or ecx, edx
jne 0xb8ba75
push 0x418a48
call fcn.00b8d238
push ebx
call fcn.00b89c00
add esp, 8
push 1
call fcn.00b8d6c2
mov eax, dword [ebx + 0xa8]
cmp eax, esi
je 0xb8ba2a
mov edx, dword [eax]
xor esi, esi
xor edi, edi
test edx, edx
jbe 0xb8ba5b
add eax, 0x18
mov ebx, dword [eax]
add esi, ebx
mov ebx, dword [eax + 4]
adc edi, ebx
add eax, 0x18
dec edx
jne 0xb8ba15
mov ebx, dword [esp + 0x78]
jmp 0xb8ba3f
cmp byte [ebx + 0xa0], 0x42
je 0xb8ba5b
mov esi, dword [ebx + 0x90]
mov edi, dword [ebx + 0x94]
mov edx, esi
or edx, edi
je 0xb8ba5b
mov eax, 0x400
shl eax, cl
cdq
push edx
push eax
push edi
push esi
call fcn.00b8d870
jmp 0xb8b9cf
push 0x418a0c
call fcn.00b8d238
push ebx
call fcn.00b89c00
add esp, 8
push 1
call fcn.00b8d6c2
mov dword [ebp + 4], eax
jmp 0xb8baa2
mov ecx, dword [0x41a39c]
test ecx, ecx
jne 0xb8baa2
xor ecx, ecx
cmp ecx, edx
jl 0xb8baa2
jg 0xb8ba90
cmp esi, eax
jbe 0xb8baa2
push 0x4189d0
call fcn.00b8d238
add esp, 4
call fcn.00b8b1d0
test byte [ebp + 0x5c], 4
je 0xb8babb
mov eax, dword [0x41a3a4]
test eax, eax
jne 0xb8babb
mov dword [0x41a3a4], 0xffffffff
mov eax, dword [esp + 0x20]
test eax, eax
jne 0xb8bacf
mov edx, dword [esp + 0x14]
mov dword [0x4187a0], edx
jmp 0xb8bad4
mov dword [0x4187a0], eax
mov ecx, dword [ebp + 4]
mov eax, 0x51eb851f
imul ecx, dword [esp + 0x18]
mul ecx
shr edx, 5
pop edi
mov dword [ebp + 8], edx
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x5c
ret