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

Disassembly:
sub esp, 0x30
push ebx
push ebp
push esi
mov esi, dword [esp + 0x40]
xor ebp, ebp
xor ebx, ebx
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x5c]
cmp eax, ecx
push edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebp
ja 0x100bcf30
jb 0x100bcadb
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x58]
cmp ecx, eax
jae 0x100bcf30
jmp 0x100bcadb
mov ebx, dword [esp + 0x2c]
cmp dword [esi + 0x140], ebp
jne 0x100bcbff
cmp dword [esi + 0xec], ebp
jne 0x100bcbff
mov edi, 1
cmp word [esi + 0x50], di
jne 0x100bcb5e
mov eax, dword [esi + 0xc]
lea edx, [esp + 0x24]
push 4
push edx
push eax
call dword [esi]
add esp, 0xc
cmp eax, 4
jne 0x100bcf30
mov cl, byte [esp + 0x26]
xor eax, eax
mov ax, word [esi + 0x30]
add eax, 0xfffffffc
cmp cl, 0x59
mov dword [esi + 0xec], eax
jae 0x100bcf3e
lea ecx, [esp + 0x24]
push ecx
call fcn.100be4e0
mov edx, dword [esp + 0x2a]
add esp, 4
movsx eax, ax
and edx, 0xff
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf8], edx
jmp 0x100bcbf3
mov ecx, dword [esi + 0xc]
lea eax, [esp + 0x34]
push 8
push eax
push ecx
call dword [esi]
add esp, 0xc
cmp eax, 8
jne 0x100bcf30
mov cl, byte [esp + 0x36]
xor eax, eax
mov ax, word [esi + 0x30]
add eax, 0xfffffff8
cmp cl, 0x59
mov dword [esi + 0xec], eax
jae 0x100bcf5e
cmp byte [esp + 0x3a], 0x59
jae 0x100bcf5e
lea edx, [esp + 0x34]
push edx
call fcn.100be4e0
mov ecx, dword [esp + 0x3a]
lea edx, [esp + 0x3c]
movsx eax, ax
and ecx, 0xff
push edx
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf8], ecx
call fcn.100be4e0
mov ecx, dword [esp + 0x42]
mov edx, dword [esi + 0xf0]
movsx eax, ax
add esp, 8
and ecx, 0xff
mov dword [esi + 0xf4], eax
mov dword [esi + 0xfc], ecx
mov dword [esi + 0x138], edx
mov dword [esi + 0x13c], eax
mov dword [esi + 0x140], edi
mov edi, dword [esp + 0x4c]
cmp edi, ebp
ja 0x100bcc11
cmp dword [esp + 0x48], ebp
jbe 0x100bcce3
cmp dword [esi + 0x140], ebp
jbe 0x100bccdf
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0x5c]
cmp eax, ecx
ja 0x100bccdf
jb 0x100bcc3b
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x58]
cmp ecx, eax
jae 0x100bccdf
mov ebx, dword [esp + 0x50]
cmp ebx, ebp
je 0x100bcc87
xor eax, eax
xor ecx, ecx
mov ax, word [esi + 0x50]
cmp eax, ebp
jbe 0x100bcc7a
mov edx, ebx
mov ebp, dword [esi + 0x140]
add edx, 2
imul ebp, eax
mov eax, ecx
sub eax, ebp
inc ecx
mov ax, word [esi + eax*4 + 0x140]
mov word [edx - 2], ax
xor eax, eax
mov ax, word [esi + 0x50]
cmp ecx, eax
jb 0x100bcc51
xor ebp, ebp
xor ecx, ecx
mov cx, word [esi + 0x50]
lea edx, [ebx + ecx*2]
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov ebx, dword [esi + 0x78]
add eax, 0xffffffff
mov dword [esp + 0x48], eax
mov eax, 1
adc edi, 0xffffffff
add edx, eax
adc ecx, ebp
add ebx, eax
mov dword [esp + 0x2c], edx
mov dword [esi + 0x78], ebx
mov edx, dword [esi + 0x7c]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x140]
adc edx, ebp
dec ecx
cmp edi, ebp
mov dword [esi + 0x7c], edx
mov dword [esi + 0x140], ecx
ja 0x100bcc11
jb 0x100bccdf
cmp dword [esp + 0x48], ebp
ja 0x100bcc11
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0x48]
or eax, edi
je 0x100bcf2c
cmp dword [esi + 0x140], ebp
jne 0x100bcf0e
cmp dword [esi + 0xec], ebp
je 0x100bcf0e
cmp word [esi + 0x50], bp
mov dword [esi + 0x140], 8
mov dword [esp + 0x44], ebp
jbe 0x100bcf0e
lea edi, [esi + 0xf8]
jmp 0x100bcd29
xor ebp, ebp
mov edx, dword [esi + 0xc]
lea ecx, [esp + 0x1c]
push 4
push ecx
push edx
call dword [esi]
add esp, 0xc
cmp eax, 4
jne 0x100bcf7e
mov eax, dword [esi + 0xec]
mov dword [esp + 0x14], ebp
add eax, 0xfffffffc
mov dword [esp + 0x18], ebp
mov dword [esi + 0xec], eax
mov eax, dword [esp + 0x14]
mov edx, dword [edi]
mov al, byte [esp + eax + 0x1c]
mov ebp, dword [edx*4 + 0x10112690]
mov cl, al
mov edx, ebp
shr al, 4
and cl, 0xf
mov bl, al
mov eax, dword [edi - 8]
mov byte [esp + 0x20], cl
sar edx, 3
test cl, 1
mov byte [esp + 0x10], bl
je 0x100bcd94
mov ebx, ebp
sar ebx, 2
add edx, ebx
mov bl, byte [esp + 0x10]
test cl, 2
je 0x100bcda3
mov ebx, ebp
sar ebx, 1
add edx, ebx
mov bl, byte [esp + 0x10]
test cl, 4
je 0x100bcdaa
add edx, ebp
test cl, 8
je 0x100bcdb1
neg edx
add edx, eax
cmp edx, 0x7fff
jg 0x100bcdd2
cmp edx, 0xffff8000
jge 0x100bcdca
mov edx, 0xffff8000
jmp 0x100bcdd7
cmp edx, 0x7fff
jle 0x100bcdd7
mov edx, 0x7fff
mov eax, dword [esp + 0x20]
mov dword [edi - 8], edx
and eax, 0xff
mov ecx, dword [eax*4 + 0x10112650]
mov eax, dword [edi]
add ecx, eax
cmp ecx, 0x58
jg 0x100bce00
test ecx, ecx
jge 0x100bcdfb
xor ecx, ecx
jmp 0x100bce05
cmp ecx, 0x58
jle 0x100bce05
mov ecx, 0x58
mov dword [edi], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x140]
mov ebp, dword [esp + 0x44]
sub ecx, eax
xor eax, eax
mov ax, word [esi + 0x50]
imul ecx, eax
add ecx, ebp
mov dword [esi + ecx*4 + 0x140], edx
mov ecx, dword [edi]
mov ebp, dword [edi - 8]
mov edx, dword [ecx*4 + 0x10112690]
mov ecx, edx
sar ecx, 3
test bl, 1
je 0x100bce46
mov eax, edx
sar eax, 2
add ecx, eax
test bl, 2
je 0x100bce51
mov eax, edx
sar eax, 1
add ecx, eax
test bl, 4
je 0x100bce58
add ecx, edx
test bl, 8
je 0x100bce5f
neg ecx
add ecx, ebp
cmp ecx, 0x7fff
jg 0x100bce80
cmp ecx, 0xffff8000
jge 0x100bce78
mov ecx, 0xffff8000
jmp 0x100bce85
cmp ecx, 0x7fff
jle 0x100bce85
mov ecx, 0x7fff
mov edx, dword [esp + 0x10]
mov dword [edi - 8], ecx
and edx, 0xff
mov eax, dword [edx*4 + 0x10112650]
mov edx, dword [edi]
add eax, edx
cmp eax, 0x58
jg 0x100bceaf
test eax, eax
jge 0x100bceaa
xor eax, eax
jmp 0x100bceb4
cmp eax, 0x58
jle 0x100bceb4
mov eax, 0x58
mov dword [edi], eax
mov eax, dword [esp + 0x18]
mov ebp, dword [esi + 0x140]
mov edx, eax
sub edx, ebp
xor ebx, ebx
mov bx, word [esi + 0x50]
inc edx
imul edx, ebx
mov ebp, dword [esp + 0x44]
mov ebx, dword [esp + 0x14]
add edx, ebp
add eax, 2
inc ebx
cmp eax, 8
mov dword [esi + edx*4 + 0x140], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
jl 0x100bcd59
mov eax, ebp
xor ecx, ecx
mov cx, word [esi + 0x50]
inc eax
add edi, 4
cmp eax, ecx
mov dword [esp + 0x44], eax
jb 0x100bcd27
xor ebp, ebp
mov edx, dword [esi + 0x7c]
mov eax, dword [esi + 0x5c]
cmp edx, eax
jb 0x100bcad7
ja 0x100bcf2c
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x58]
cmp eax, ecx
jb 0x100bcad7
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x30
ret
mov ecx, dword [esi + 0xc]
push edi
push eax
push ecx
call dword [esi + 8]
mov edx, dword [esp + 0x3c]
add esp, 0xc
mov dword [esi + 0xec], ebp
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov edx, dword [esi + 0xc]
push edi
push eax
push edx
call dword [esi + 8]
mov edx, dword [esp + 0x3c]
add esp, 0xc
mov dword [esi + 0xec], ebp
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov dword [esi + 0x140], ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret