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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x54
mov eax, dword [esp + 0x7c]
mov esi, ecx
mov dword [esp + 0x3c], eax
mov ah, byte [ecx + 3]
movzx ecx, byte [ecx]
test ah, 2
mov byte [esp + 0x10], ah
jne 0x100b49fe
mov al, byte [esp + 0x80]
test al, al
jne 0x100b49fe
mov eax, ecx
mov ah, cl
shr al, 4
and ah, 0xf0
or ah, al
movzx eax, ah
mov dword [esp], eax
mov al, byte [esi + 1]
mov ah, byte [esi + 2]
mov ebx, eax
mov bh, al
shr bl, 4
and bh, 0xf0
or bh, bl
mov bl, ah
movzx edi, bh
mov bh, ah
shr bl, 4
and bh, 0xf0
mov dword [esp + 4], edi
or bh, bl
mov bl, cl
shl cl, 4
and bl, 0xf
movzx ebp, bh
or cl, bl
movzx ebx, cl
mov ecx, eax
shl al, 4
and cl, 0xf
or al, cl
mov cl, ah
shl ah, 4
and cl, 0xf
movzx edi, al
or ah, cl
mov ecx, esi
movzx eax, ah
push 0
push dword [esp + 0x80]
push eax
push edi
push ebx
push ebp
push dword [esp + 0x1c]
push dword [esp + 0x1c]
push dword [esp + 0x98]
push dword [esp + 0x98]
push dword [esp + 0x98]
push dword [esp + 0x98]
push dword [esp + 0x98]
call fcn.100b5500
add esp, 0x88
jmp 0x100b5339
mov eax, ecx
mov edi, ecx
movzx ebx, byte [esi + 1]
mov dword [esp + 0x24], edx
shl al, 5
shr edi, 3
sar al, 5
movsx ebp, al
movzx eax, byte [esi + 2]
add ebp, edi
cmp ebp, 0x20
jb 0x100b4b64
mov edx, ecx
and cl, 3
mov dh, bl
shr dl, 1
and dh, 0xf0
and dl, 0xc
or cl, dl
mov dl, cl
shl dl, 4
or dl, cl
mov ecx, ebx
mov ch, al
shr cl, 4
and ch, 0xf0
mov byte [esp + 0x16], dl
or dh, cl
mov cl, bl
shl bl, 4
and cl, 0xf
mov byte [esp + 0x15], dh
mov edx, 0x100
or bl, cl
mov cl, al
shr cl, 4
mov byte [esp + 0x14], bl
or ch, cl
mov cl, al
shl al, 4
movzx edi, ch
mov byte [esp + 4], ch
mov ch, byte [esp + 0x10]
and cl, 0xf
or al, cl
mov dword [esp + 8], edi
mov dword [esp], eax
mov cl, ch
mov al, ch
shr cl, 4
and al, 0xf0
or al, cl
mov cl, ch
and ch, 1
shr cl, 1
mov ah, al
and cl, 6
or ch, cl
movzx ecx, ch
mov ebp, dword [ecx*4 + 0x101dfd18]
movzx ecx, byte [esp]
lea ebx, [ebp + edi]
movzx edi, al
mov dword [esp + 0xc], ecx
cmp ebx, edx
mov edx, 0xff
cmovge ebx, edx
lea edx, [ebp + ecx]
test ebx, ebx
jg 0x100b4acd
xor ebx, ebx
mov byte [esp + 0x1a], bl
mov ebx, 0x100
lea ecx, [ebp + edi]
cmp edx, ebx
mov ebx, 0xff
cmovge edx, ebx
test edx, edx
jg 0x100b4aea
xor edx, edx
mov byte [esp + 0x19], dl
mov edx, 0x100
cmp ecx, edx
cmovge ecx, ebx
test ecx, ecx
jg 0x100b4afe
xor ecx, ecx
mov byte [esp + 0x18], cl
mov cl, byte [esp + 4]
mov edx, dword [esp + 8]
mov byte [esp + 0x1e], cl
mov ecx, dword [esp]
sub edx, ebp
mov byte [esp + 0x1d], cl
mov ecx, dword [esp + 0xc]
mov byte [esp + 0x1c], ah
mov eax, 0x100
sub ecx, ebp
cmp edx, eax
cmovge edx, ebx
test edx, edx
jg 0x100b4b31
xor edx, edx
mov eax, 0x100
sub edi, ebp
mov byte [esp + 0x22], dl
cmp ecx, eax
cmovge ecx, ebx
test ecx, ecx
jg 0x100b4b47
xor ecx, ecx
mov eax, 0x100
mov byte [esp + 0x21], cl
cmp edi, eax
cmovl ebx, edi
test ebx, ebx
jg 0x100b4daa
xor ebx, ebx
jmp 0x100b4daa
mov edx, eax
mov dword [esp], eax
mov eax, ebx
mov dword [esp + 0xc], edi
shr edx, 3
shr eax, 3
mov dword [esp + 4], edx
mov edx, ebx
mov bh, dl
shl bh, 5
mov bl, bh
sar bl, 5
movsx edi, bl
add edi, eax
cmp edi, 0x20
jb 0x100b4f14
mov ebx, dword [esp + 0xc]
add cl, cl
mov eax, edx
shr dl, 4
mov dh, byte [esp + 0x10]
and cl, 0xe
and dl, 1
or dl, cl
mov ch, dl
mov cl, bl
shl bl, 4
shl ch, 4
and cl, 0xf
or ch, dl
mov dl, al
add al, al
or bl, cl
and dl, 8
and al, 6
movzx edi, bl
mov ebx, dword [esp]
mov dword [esp + 8], edi
mov cl, bl
add bl, bl
shr cl, 7
and bl, 0xe
or cl, dl
or cl, al
movzx eax, ch
mov dword [esp + 0xc], eax
mov eax, dword [esp + 4]
mov dl, al
shl al, 4
and dl, 0xf
or al, dl
mov dl, dh
shr dl, 7
movzx eax, al
or dl, bl
mov dword [esp + 4], eax
mov eax, edi
mov edi, dword [esp + 0xc]
mov ch, dl
shl eax, 0x10
shl ch, 4
or ch, dl
mov dl, dh
shr dl, 3
movzx ebp, ch
shl edi, 8
mov ch, dl
or edi, eax
mov eax, dword [esp + 4]
shl dl, 4
mov ebx, ebp
mov dword [esp], ebp
and ch, 0xf
shl ebx, 8
or dl, ch
mov ch, dh
movzx ebp, dl
mov dl, cl
add ch, dh
shl dl, 4
shl eax, 0x10
and ch, 2
or dl, cl
mov cl, dh
or eax, ebp
movzx edx, dl
or eax, ebx
and cl, 4
or edi, edx
cmp edi, eax
mov edi, 0x100
setae bl
or bl, cl
or bl, ch
movzx ecx, bl
mov eax, dword [ecx*4 + 0x101dfd18]
mov ecx, dword [esp + 8]
lea ebx, [eax + ecx]
mov ecx, 0xff
cmp ebx, edi
cmovge ebx, ecx
mov ecx, dword [esp + 0xc]
test ebx, ebx
lea ecx, [eax + ecx]
jg 0x100b4c8a
xor ebx, ebx
cmp ecx, edi
mov edi, 0xff
mov byte [esp + 0x16], bl
lea ebx, [eax + edx]
cmovge ecx, edi
test ecx, ecx
jg 0x100b4ca1
xor ecx, ecx
mov edi, 0x100
mov byte [esp + 0x15], cl
mov ecx, 0xff
cmp ebx, edi
cmovge ebx, ecx
test ebx, ebx
jg 0x100b4cba
xor ebx, ebx
mov ecx, dword [esp + 8]
mov byte [esp + 0x14], bl
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x28], ebp
mov ebp, 0x100
sub ecx, eax
sub ebx, eax
cmp ecx, edi
mov edi, 0xff
cmovge ecx, edi
mov edi, 0xff
test ecx, ecx
jg 0x100b4ce8
xor ecx, ecx
sub edx, eax
cmp ebx, ebp
mov byte [esp + 0x1a], cl
cmovge ebx, edi
test ebx, ebx
jg 0x100b4cf9
xor ebx, ebx
mov ecx, dword [esp + 4]
mov edi, 0xff
cmp edx, ebp
mov byte [esp + 0x19], bl
cmovge edx, edi
test edx, edx
jg 0x100b4d11
xor edx, edx
mov ebx, dword [esp]
mov byte [esp + 0x18], dl
mov ebp, dword [esp + 0x28]
lea ecx, [eax + ecx]
lea edx, [eax + ebx]
mov ebx, 0x100
cmp ecx, ebx
cmovge ecx, edi
test ecx, ecx
jg 0x100b4d32
xor ecx, ecx
mov edi, 0x100
mov byte [esp + 0x1e], cl
mov ecx, 0xff
lea ebx, [eax + ebp]
cmp edx, edi
cmovge edx, ecx
test edx, edx
jg 0x100b4d4e
xor edx, edx
cmp ebx, edi
mov ecx, 0xff
mov byte [esp + 0x1d], dl
cmovge ebx, ecx
test ebx, ebx
jg 0x100b4d62
xor ebx, ebx
mov edx, dword [esp + 4]
mov ecx, dword [esp]
mov byte [esp + 0x1c], bl
mov ebx, 0xff
sub edx, eax
sub ecx, eax
cmp edx, edi
cmovge edx, ebx
test edx, edx
jg 0x100b4d81
xor edx, edx
sub ebp, eax
cmp ecx, edi
mov byte [esp + 0x22], dl
cmovge ecx, ebx
test ecx, ecx
jg 0x100b4d92
xor ecx, ecx
cmp ebp, edi
mov byte [esp + 0x21], cl
cmovl ebx, ebp
test ebx, ebx
jg 0x100b51ac
xor ebx, ebx
jmp 0x100b51ac
mov eax, dword [esp + 0x74]
mov byte [esp + 0x20], bl
cmp dword [esp + 0x6c], eax
jge 0x100b530d
mov eax, dword [esp + 0x68]
xor ebx, ebx
lea ecx, [eax + 1]
lea edx, [eax + 2]
lea eax, [eax + 3]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ebp, [eax + 0xc]
mov eax, dword [esp + 0x6c]
inc eax
mov dword [esp + 8], eax
xor eax, eax
inc eax
mov ecx, dword [esp + 0x70]
cmp dword [esp + 0x68], ecx
jge 0x100b4e29
mov ecx, ebx
mov edx, eax
shr ecx, 3
sub edx, ecx
neg ecx
movzx edi, byte [esi + ecx + 7]
movzx edx, byte [esi + edx + 4]
mov ecx, ebx
shr edi, cl
shr edx, cl
and edi, 1
and edx, 1
lea ecx, [edi + edx*2]
mov edx, dword [esp + 0x7c]
mov dl, byte [edx + ebx*4]
mov byte [esp + ecx*4 + 0x17], dl
mov ecx, dword [esp + ecx*4 + 0x14]
mov dword [ebp - 0xc], ecx
mov ecx, dword [esp]
cmp ecx, dword [esp + 0x70]
jge 0x100b4e6a
lea ecx, [ebx + 4]
mov edi, eax
mov edx, ecx
shr edx, 3
sub edi, edx
neg edx
movzx edx, byte [esi + edx + 7]
movzx edi, byte [esi + edi + 4]
shr edx, cl
shr edi, cl
and edx, 1
and edi, 1
lea ecx, [edx + edi*2]
mov edx, dword [esp + 0x7c]
mov dl, byte [edx + ebx*4 + 1]
mov byte [esp + ecx*4 + 0x17], dl
mov ecx, dword [esp + ecx*4 + 0x14]
mov dword [ebp - 8], ecx
mov ecx, dword [esp + 4]
cmp ecx, dword [esp + 0x70]
jge 0x100b4eac
lea ecx, [ebx + 8]
mov edx, eax
shr ecx, 3
sub edx, ecx
neg ecx
movzx edi, byte [esi + ecx + 7]
movzx edx, byte [esi + edx + 4]
mov ecx, ebx
shr edi, cl
shr edx, cl
and edi, 1
and edx, 1
lea ecx, [edi + edx*2]
mov edx, dword [esp + 0x7c]
mov dl, byte [edx + ebx*4 + 2]
mov byte [esp + ecx*4 + 0x17], dl
mov ecx, dword [esp + ecx*4 + 0x14]
mov dword [ebp - 4], ecx
mov ecx, dword [esp + 0xc]
cmp ecx, dword [esp + 0x70]
jge 0x100b4eef
lea edx, [ebx + 0xc]
mov edi, eax
lea ecx, [ebx + 4]
shr edx, 3
sub edi, edx
neg edx
movzx edx, byte [esi + edx + 7]
movzx edi, byte [esi + edi + 4]
shr edx, cl
shr edi, cl
and edx, 1
and edi, 1
lea ecx, [edx + edi*2]
mov edx, dword [esp + 0x7c]
mov dl, byte [edx + ebx*4 + 3]
mov byte [esp + ecx*4 + 0x17], dl
mov ecx, dword [esp + ecx*4 + 0x14]
mov dword [ebp], ecx
lea ecx, [ebx + 1]
cmp ecx, 3
ja 0x100b530d
add ebx, dword [esp + 8]
add ebp, dword [esp + 0x78]
cmp ebx, dword [esp + 0x74]
mov ebx, ecx
jl 0x100b4de9
jmp 0x100b530d
mov dword [esp + 8], edx
mov edx, dword [esp]
mov bl, dl
shl bl, 5
sar bl, 5
movsx edx, bl
add edx, dword [esp + 4]
cmp edx, 0x20
jb 0x100b533e
mov eax, dword [esp + 0x74]
mov edi, dword [esp]
cmp dword [esp + 0x6c], eax
jge 0x100b5336
mov edx, ecx
mov dh, cl
and bh, 0x20
mov bl, byte [esi + 5]
mov dword [esp + 0x34], 2
mov dword [esp + 0x30], 2
mov dword [esp + 0x2c], 2
add dl, cl
shr dh, 5
and dl, 0xfc
and dh, 3
or dh, dl
mov dl, cl
shl cl, 7
movzx eax, dh
and dl, 1
mov dh, byte [esp + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 8]
and al, 0x7e
or al, cl
mov ch, dh
or al, dl
mov dl, dh
shr ch, 1
movzx ebp, al
mov eax, edi
shr dl, 7
mov edi, dword [esp + 0xc]
and ch, 0x3e
mov cl, al
add al, al
mov dword [esp + 8], ebp
and cl, 0x18
and al, 6
or cl, bh
mov bh, byte [esi + 4]
or dl, cl
shr cl, 4
or dl, al
shl dl, 2
or cl, dl
mov dl, dh
mov dh, bl
mov byte [esp], bh
shl bh, 5
shl bl, 3
mov byte [esp + 4], cl
mov cl, byte [esi + 7]
and bh, 0x20
shr dh, 3
and bl, 0x38
and dl, 1
or dh, bh
mov bh, byte [esi + 6]
or dl, ch
shr ch, 4
shl dl, 2
or ch, dl
mov eax, ecx
mov ah, cl
shr cl, 6
shr al, 4
shl ah, 2
and al, 3
or ah, al
mov al, bh
shr bh, 5
shl al, 2
or bh, bl
shr bl, 4
mov byte [esp + 0x38], ah
and al, 0x7c
shl bh, 2
or cl, al
shr al, 6
or bl, bh
add cl, cl
or al, cl
mov cl, byte [esp]
movzx esi, al
mov al, dh
shr dh, 4
shl al, 2
sub esi, ebp
or dh, al
mov dword [esp + 0x48], esi
mov esi, 0x100
mov eax, ecx
shr cl, 7
movzx edx, dh
and al, 0xfe
or cl, al
movzx eax, bl
mov ebx, dword [esp + 0x24]
mov byte [esp], cl
sub eax, edi
movzx ecx, ch
mov dword [esp + 0x44], eax
movzx eax, byte [esp]
sub ecx, edi
mov dword [esp + 0x28], ecx
movzx ecx, byte [esp + 0x38]
sub eax, ebp
mov dword [esp + 0x50], eax
movzx eax, byte [esp + 4]
sub ecx, eax
sub edx, eax
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x38], edx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x68], ecx
jge 0x100b5158
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
xor edx, edx
mov dword [esp + 0x24], ebx
inc edx
mov eax, dword [esp + 0x3c]
mov ebx, edi
mov dword [esp], ecx
sar ebx, 2
add ebx, dword [esp + 0xc]
mov al, byte [eax + edx - 1]
mov byte [esp + 4], al
mov eax, ecx
mov ecx, ebp
sar ecx, 2
sar eax, 2
add ecx, dword [esp + 8]
cmp ebx, esi
mov esi, 0xff
cmovge ebx, esi
test ebx, ebx
jg 0x100b50e5
xor ebx, ebx
mov esi, dword [esp + 0x24]
add eax, dword [esp + 0x10]
mov byte [esi + edx*4 - 2], bl
mov ebx, esi
mov esi, 0x100
cmp ecx, esi
mov esi, 0xff
cmovge ecx, esi
test ecx, ecx
jg 0x100b5108
xor ecx, ecx
mov esi, 0x100
mov byte [ebx + edx*4 - 3], cl
mov ecx, 0xff
cmp eax, esi
cmovge eax, ecx
test eax, eax
jg 0x100b5126
mov ecx, dword [esp]
xor eax, eax
jmp 0x100b5129
mov ecx, dword [esp]
mov byte [ebx + edx*4 - 4], al
mov ah, byte [esp + 4]
cmp edx, 3
mov byte [ebx + edx*4 - 1], ah
ja 0x100b5158
mov eax, dword [esp + 0x68]
add edi, dword [esp + 0x28]
add ebp, dword [esp + 0x50]
add ecx, dword [esp + 0x38]
lea eax, [eax + edx]
inc edx
cmp eax, dword [esp + 0x70]
jl 0x100b50af
mov edx, dword [esp + 0x4c]
lea eax, [edx + 1]
cmp eax, 3
ja 0x100b5336
mov ecx, dword [esp + 0x2c]
add ebx, dword [esp + 0x78]
add dword [esp + 0x3c], 4
add ecx, dword [esp + 0x44]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x30]
add ecx, dword [esp + 0x48]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x34]
add ecx, dword [esp + 0x40]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x6c]
lea ecx, [edx + ecx + 1]
cmp ecx, dword [esp + 0x74]
jl 0x100b508a
jmp 0x100b5336
mov eax, dword [esp + 0x74]
mov byte [esp + 0x20], bl
cmp dword [esp + 0x6c], eax
jge 0x100b530d
mov eax, dword [esp + 0x68]
xor ebx, ebx
lea ecx, [eax + 1]
lea edx, [eax + 2]
lea eax, [eax + 3]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ebp, [eax + 0xc]
mov eax, dword [esp + 0x6c]
inc eax
mov dword [esp + 8], eax
xor eax, eax
inc eax
mov ecx, dword [esp + 0x70]
cmp dword [esp + 0x68], ecx
jge 0x100b522b
mov ecx, ebx
mov edx, eax
shr ecx, 3
sub edx, ecx
neg ecx
movzx edi, byte [esi + ecx + 7]
movzx edx, byte [esi + edx + 4]
mov ecx, ebx
shr edi, cl
shr edx, cl
and edi, 1
and edx, 1
lea ecx, [edi + edx*2]
mov edx, dword [esp + 0x7c]
mov dl, byte [edx + ebx*4]
mov byte [esp + ecx*4 + 0x17], dl
mov ecx, dword [esp + ecx*4 + 0x14]
mov dword [ebp - 0xc], ecx
mov ecx, dword [esp]
cmp ecx, dword [esp + 0x70]
jge 0x100b526c
lea ecx, [ebx + 4]
mov edi, eax
mov edx, ecx
shr edx, 3
sub edi, edx
neg edx
movzx edx, byte [esi + edx + 7]
movzx edi, byte [esi + edi + 4]
shr edx, cl
shr edi, cl
and edx, 1
and edi, 1
lea ecx, [edx + edi*2]
mov edx, dword [esp + 0x7c]
mov dl, byte [edx + ebx*4 + 1]
mov byte [esp + ecx*4 + 0x17], dl
mov ecx, dword [esp + ecx*4 + 0x14]
mov dword [ebp - 8], ecx
mov ecx, dword [esp + 4]
cmp ecx, dword [esp + 0x70]
jge 0x100b52ae
lea ecx, [ebx + 8]
mov edx, eax
shr ecx, 3
sub edx, ecx
neg ecx
movzx edi, byte [esi + ecx + 7]
movzx edx, byte [esi + edx + 4]
mov ecx, ebx
shr edi, cl
shr edx, cl
and edi, 1
and edx, 1
lea ecx, [edi + edx*2]
mov edx, dword [esp + 0x7c]
mov dl, byte [edx + ebx*4 + 2]
mov byte [esp + ecx*4 + 0x17], dl
mov ecx, dword [esp + ecx*4 + 0x14]
mov dword [ebp - 4], ecx
mov ecx, dword [esp + 0xc]
cmp ecx, dword [esp + 0x70]
jge 0x100b52f1
lea edx, [ebx + 0xc]
mov edi, eax
lea ecx, [ebx + 4]
shr edx, 3
sub edi, edx
neg edx
movzx edx, byte [esi + edx + 7]
movzx edi, byte [esi + edi + 4]
shr edx, cl
shr edi, cl
and edx, 1
and edi, 1
lea ecx, [edx + edi*2]
mov edx, dword [esp + 0x7c]
mov dl, byte [edx + ebx*4 + 3]
mov byte [esp + ecx*4 + 0x17], dl
mov ecx, dword [esp + ecx*4 + 0x14]
mov dword [ebp], ecx
lea ecx, [ebx + 1]
cmp ecx, 3
ja 0x100b530d
add ebx, dword [esp + 8]
add ebp, dword [esp + 0x78]
cmp ebx, dword [esp + 0x74]
mov ebx, ecx
jl 0x100b51eb
test byte [esp + 0x10], 2
jne 0x100b5336
mov edx, dword [esp + 0x24]
mov ecx, esi
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x78]
call fcn.100b5462
add esp, 0x14
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret
xor ebx, ebx
test byte [esp + 0x10], 2
sete bl
shr dword [esp + 4], 2
shr eax, 2
and ecx, 0xfffffff8
mov dword [esp + 0x10], ebx
mov ebx, dword [esp]
and ebx, 0xfffffff8
add dword [esp + 4], ebx
mov ebx, dword [esp + 8]
and ebx, 0xfffffff8
or eax, ebx
mov ebx, dword [esp + 0xc]
shr ebx, 2
or ebx, ecx
lea ecx, [ebp*8]
shr ebp, 2
or ecx, ebp
lea ebp, [edi*8]
shr edi, 2
or ebp, edi
lea edi, [edx*8]
shr edx, 2
mov dword [esp], ecx
mov ecx, esi
or edi, edx
mov edx, dword [esp + 0x24]
push dword [esp + 0x10]
push dword [esp + 0x80]
push edi
push ebp
push dword [esp + 0x10]
push dword [esp + 0x18]
push eax
push ebx
jmp 0x100b49cb