Function at 0x1000b0e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], edx
mov ebx, eax
and ebx, 0xfffdffff
test ebp, ebp
je 0x1000b4a0
test eax, 0x10000
jne 0x1000b4d7
mov esi, dword [ebp + 4]
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0x2c]
sub eax, esi
mov dword [esp + 0x34], eax
mov edi, eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x1000b14e
mov ecx, edi
sar ecx, 0x1f
sub dword [esp + 0x20], edi
sbb dword [esp + 0x24], ecx
cmp ebx, 1
ja 0x1000b4a0
je 0x1000b400
mov eax, dword [esp + 0x1c]
test eax, eax
js 0x1000b4a0
mov eax, dword [ebp + 0x88]
mov ebx, dword [ebp + 0x8c]
test eax, eax
je 0x1000b18d
mov edx, dword [ebp + 0x14]
mov dword [esp], edx
call eax
cmp ebx, eax
cmovl ebx, eax
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x28], eax
mov esi, dword [ebp + 0x70]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
sub eax, dword [esp + 0x20]
sbb edx, dword [esp + 0x24]
cmp ecx, esi
cmovae esi, ecx
mov edi, dword [ebp + 0x5c]
mov dword [ebp + 0x70], esi
mov dword [esp + 0x40], edi
test edi, edi
je 0x1000b358
mov edi, dword [ebp + 0x20]
test edi, edi
je 0x1000b358
test byte [ebp + 0x58], 1
je 0x1000b2c0
mov edi, dword [esp + 0x34]
add ebx, edi
mov edi, ebx
mov dword [esp + 0x48], ebx
sar edi, 0x1f
cmp ebx, eax
mov dword [esp + 0x4c], edi
mov ebx, dword [esp + 0x4c]
sbb ebx, edx
jge 0x1000b2c0
mov ebx, dword [esp + 0x28]
test ebx, ebx
jne 0x1000b47b
test edx, edx
jns 0x1000b3e0
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
sar esi, 1
mov ebx, esi
mov ecx, esi
sar ebx, 0x1f
sub eax, dword [esp + 0x18]
sbb edx, dword [esp + 0x1c]
cmp eax, esi
mov eax, edx
sbb eax, ebx
jge 0x1000b3e0
mov edx, dword [ebp + 0x20]
test edx, edx
je 0x1000b4d0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, esi
or eax, edi
je 0x1000b4d0
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov dword [esp + 0xc], 0
cmp esi, ecx
mov eax, edi
sbb eax, ebx
mov eax, esi
cmovge eax, ecx
mov dword [esp + 0x38], eax
mov eax, ebx
cmovl eax, edi
sub esi, dword [esp + 0x38]
mov dword [esp + 4], esi
mov dword [esp + 0x3c], eax
sbb edi, dword [esp + 0x3c]
mov dword [esp + 8], edi
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call edx
mov ecx, eax
mov ebx, edx
test edx, edx
js 0x1000b347
mov eax, dword [ebp + 4]
mov dword [ebp + 0x28], esi
xor ebx, ebx
mov dword [ebp + 0x2c], edi
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], eax
mov eax, ebp
mov dword [ebp + 0x30], 0
call fcn.1000a8a0
jmp 0x1000b11a
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x1000b47b
test edx, edx
js 0x1000b204
mov eax, dword [esp + 0x40]
test eax, eax
je 0x1000b55b
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x1000b55b
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc], 0
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov edx, dword [ebp + 0x14]
mov dword [esp], edx
call eax
mov ecx, eax
mov ebx, edx
test edx, edx
js 0x1000b347
mov edx, dword [ebp + 0x38]
add dword [ebp + 0xb8], 1
mov eax, dword [ebp + 4]
test edx, edx
je 0x1000b4c0
mov edx, dword [esp + 0x1c]
mov dword [ebp + 0x70], eax
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x18]
mov dword [ebp + 0x2c], edx
mov ebx, edx
mov dword [ebp + 0x28], eax
mov ecx, eax
mov dword [ebp + 0x30], 0
add esp, 0x5c
mov edx, ebx
mov eax, ecx
pop ebx
pop esi
pop edi
pop ebp
ret
test edx, edx
js 0x1000b458
mov edi, dword [esp + 0x28]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x38], edi
test edi, edi
je 0x1000b37b
mov esi, dword [esp + 0x20]
sub esi, dword [ebp + 4]
mov edi, esi
mov dword [esp + 0x28], esi
sar edi, 0x1f
cmp esi, eax
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x2c]
sbb edi, edx
jge 0x1000b5d0
test byte [ebp + 0x58], 1
je 0x1000b3b3
mov edi, dword [esp + 0x34]
add ebx, edi
mov edi, ebx
sar edi, 0x1f
cmp ebx, eax
mov ebx, edi
sbb ebx, edx
jl 0x1000b488
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1000b2d4
mov eax, dword [esp + 0x20]
mov edx, dword [ebp + 4]
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp + 0x70], ecx
cmp edx, ecx
jb 0x1000b50a
mov dword [ebp + 0x70], edx
mov dword [ebp + 0xc], edx
lea esi, [esi]
mov eax, dword [ebp + 0x20]
test eax, eax
jne 0x1000b2eb
mov ecx, 0xffffffe0
mov ebx, 0xffffffff
jmp 0x1000b347
mov ecx, dword [ebp + 0xc]
mov edi, dword [esp + 0x1c]
sub ecx, esi
mov esi, dword [esp + 0x18]
mov ebx, ecx
mov eax, esi
sar ebx, 0x1f
add ecx, dword [esp + 0x20]
adc ebx, dword [esp + 0x24]
or eax, edi
je 0x1000b347
mov eax, 0xffffffff
mov edx, 0x7fffffff
sub eax, ecx
sbb edx, ebx
cmp eax, esi
mov eax, dword [esp + 0x18]
mov edi, edx
mov edx, dword [esp + 0x1c]
sbb edi, edx
jl 0x1000b4a0
add eax, ecx
adc edx, ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
jmp 0x1000b15d
test byte [ebp + 0x58], 1
je 0x1000b46f
mov edi, dword [esp + 0x34]
add ebx, edi
mov dword [esp + 0x40], ebx
sar ebx, 0x1f
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1000b204
mov dword [esp + 0x20], esi
jmp 0x1000b3bf
mov esi, dword [esp + 0x38]
test esi, esi
je 0x1000b3e0
jmp 0x1000b3bf
add esp, 0x5c
mov ebx, 0xffffffff
mov ecx, 0xffffffea
mov edx, ebx
mov eax, ecx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp + 0x10], eax
jmp 0x1000b328
mov eax, edx
jmp 0x1000b3e3
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x1000b5d8
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x7c], 0x10000
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], esi
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x70], edx
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
jmp eax
sub ecx, edx
mov eax, ebp
call fcn.1000a5e0
mov edx, dword [ebp + 0x4c]
test edx, edx
je 0x1000b5e7
mov ecx, dword [ebp + 0x48]
mov eax, dword [ebp + 0x70]
sub eax, ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x44]
mov dword [esp], eax
call edx
mov edx, dword [ebp + 0x38]
mov dword [ebp + 0x44], eax
mov eax, dword [ebp + 4]
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x70], eax
mov dword [ebp + 0xc], eax
test edx, edx
jne 0x1000b3e0
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x20]
jmp 0x1000b3e3
mov edx, dword [ebp + 0x28]
mov ebx, dword [esp + 0x18]
mov eax, dword [ebp + 0x2c]
mov esi, dword [esp + 0x1c]
cmp edx, ebx
mov ecx, dword [ebp + 0x30]
sbb eax, esi
jge 0x1000b5b3
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
jmp 0x1000b593
mov eax, ebp
call fcn.1000a8a0
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x2c]
cmp edx, esi
sbb eax, edi
jge 0x1000b5b0
mov eax, dword [ebp + 0x30]
test eax, eax
je 0x1000b580
mov ecx, 0xdfb9b0bb
or ebx, 0xffffffff
jmp 0x1000b347
mov ecx, dword [ebp + 0x30]
test ecx, ecx
jne 0x1000b59a
mov eax, dword [esp + 0x18]
sub eax, edx
add eax, dword [ebp + 0x10]
mov dword [ebp + 0xc], eax
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
jmp 0x1000b340
add eax, dword [ebp + 4]
mov dword [ebp + 0xc], eax
jmp 0x1000b5c3
mov ecx, 0xffffffd8
mov ebx, 0xffffffff
jmp 0x1000b347
mov eax, dword [ebp + 4]
mov edx, dword [ebp + 0x38]
jmp 0x1000b542