Function at 0x100bd67
Capabilities:
Create thread

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
push esi
mov esi, ecx
mov eax, dword [esi + 0x50]
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x54]
push edi
push 0xd0
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x10], eax
call fcn.0102ec4e
test eax, eax
pop ecx
je 0x100bbbf
push esi
mov ecx, eax
call fcn.01006991
mov dword [ebp - 8], eax
jmp 0x100bbc3
and dword [ebp - 8], 0
mov edi, dword [ebp - 8]
test edi, edi
jne 0x100bbd4
mov eax, 0x8007000e
jmp 0x100be3d
push ebx
push esi
mov ecx, edi
call fcn.01007f4d
test al, al
jne 0x100bbeb
mov esi, 0x8007000e
jmp 0x100be30
push 0x80000000
mov ecx, edi
call fcn.01006a65
mov esi, eax
test esi, esi
jne 0x100bc07
mov esi, 0xc1000423
jmp 0x100be30
push esi
mov ecx, edi
call fcn.0100ad90
push esi
call fcn.0101f4b2
mov eax, dword [edi + 0x94]
mov edx, dword [eax + 4]
mov ecx, dword [ebp + 8]
dec edx
cmp ecx, edx
jg 0x100be2b
mov eax, dword [eax]
mov esi, dword [eax + ecx*4]
push dword [esi + 0x24]
push dword [esi + 0x20]
call fcn.0101e261
mov ecx, 0x100000
mul ecx
mov ecx, dword [ebp + 0xc]
mov edi, dword [ecx + 0x18]
mov ebx, dword [ecx + 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x18]
cmp eax, edi
jne 0x100be24
mov eax, dword [esi + 0x1c]
cmp eax, ebx
jne 0x100be24
cmp dword [ecx + 0x24], edx
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x24], eax
jg 0x100be24
jl 0x100bc7d
cmp eax, dword [ebp - 0x1c]
ja 0x100be24
mov edx, dword [ecx + 0x24]
test edx, edx
jl 0x100be24
jg 0x100bc94
cmp dword [ebp - 0x24], 0
jbe 0x100be24
mov ecx, dword [ecx + 8]
cmp ecx, 5
je 0x100bca1
cmp ecx, 3
jne 0x100bcab
cmp dword [esi + 0x30], 1
jne 0x100be24
cmp ecx, 4
jne 0x100bcba
cmp dword [esi + 0x30], 2
jne 0x100be24
mov eax, dword [esi + 0x30]
cmp eax, 1
je 0x100bccb
cmp eax, 2
jne 0x100be24
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ebx
or eax, dword [ebp - 0x18]
mov ebx, edx
jne 0x100bd03
cmp ecx, 5
mov eax, dword [ebp - 4]
je 0x100bcf5
mov eax, dword [ebp - 0x10]
xor ecx, ecx
sub dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
sbb dword [ebp - 0x20], ecx
mov ecx, edi
add ecx, dword [ebp - 0x1c]
mov edx, ebx
adc edx, dword [ebp - 0x18]
xor eax, eax
push eax
push dword [ebp - 4]
push edx
push ecx
call fcn.0102eec0
mov ecx, eax
or ecx, edx
mov dword [ebp - 0x10], edx
je 0x100bd4b
mov ecx, dword [ebp - 4]
xor edx, edx
shr ecx, 1
cmp dword [ebp - 0x10], edx
jl 0x100bd46
jg 0x100bd35
cmp eax, ecx
jbe 0x100bd46
mov ecx, dword [ebp - 4]
sub ecx, eax
push 0
pop eax
sbb eax, dword [ebp - 0x10]
add edi, ecx
adc ebx, eax
jmp 0x100bd4b
sub edi, eax
sbb ebx, dword [ebp - 0x10]
mov eax, edi
or eax, ebx
je 0x100be24
cmp ebx, dword [ebp - 0x20]
jl 0x100bd67
jg 0x100bd61
cmp edi, dword [ebp - 0x24]
jbe 0x100bd67
mov edi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov dword [esi + 0x1c], eax
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x9c], 1
mov dword [esi + 0x18], ecx
mov dword [esi + 0x20], edi
mov dword [esi + 0x24], ebx
mov dword [esi + 0xa8], ecx
mov edx, dword [eax + 8]
mov dword [esi + 0x30], edx
cmp dword [eax + 8], 5
jne 0x100bdd7
push 0
add edi, ecx
adc ebx, dword [ebp - 0x18]
push 0x400
xor eax, eax
push eax
push dword [ebp - 4]
call fcn.0102ece0
cmp ebx, edx
jl 0x100bdcb
jg 0x100bdbf
cmp edi, eax
jbe 0x100bdcb
mov dword [esi + 0xa0], 0xf
jmp 0x100bde1
mov dword [esi + 0xa0], 5
jmp 0x100bde1
mov dword [esi + 0xa0], 6
mov byte [esi + 0x34], 1
mov esi, dword [esi + 0x30]
cmp esi, 5
je 0x100be1a
cmp esi, 4
jne 0x100be02
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x54]
xor ecx, ecx
add eax, dword [ebp - 0x1c]
adc ecx, dword [ebp - 0x18]
jmp 0x100be08
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp - 0xc]
push eax
call fcn.01006dd5
test eax, eax
je 0x100be1a
mov esi, eax
jmp 0x100be30
mov ecx, dword [ebp - 8]
call fcn.0100a973
jmp 0x100be16
mov esi, 0x80070057
jmp 0x100be30
mov esi, 0xc10007cf
mov ecx, dword [ebp - 8]
push 1
call fcn.01009ebd
mov eax, esi
pop ebx
pop edi
pop esi
leave
ret 0xc