Function at 0x100ba290
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x118
mov eax, dword [ecx + 8]
mov dword [esp + 0x30], eax
movzx eax, word [edx]
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
push esi
push edi
cmp ax, 0x40
jle 0x100ba2ce
push 0x40
push str.at_most__d_tables_in_a_join
push ecx
call fcn.10061300
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test byte [ebp + 0x14], 0x40
je 0x100ba2db
mov eax, 1
jmp 0x100ba2dc
cwde
mov ecx, dword [ecx]
lea esi, [eax + eax*4]
shl esi, 4
add esi, 0x3f
mov dword [esp + 0x24], eax
and esi, 0xfffffff8
mov dword [esp + 0x34], ecx
lea edi, [esi + 0x26c]
mov edx, edi
call fcn.1005f370
mov ecx, eax
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x100ba319
push edi
push 0
push ecx
call fcn.101078f0
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x34]
cmp byte [eax + 0x36], 0
je 0x100ba334
mov edx, ecx
mov ecx, eax
call fcn.1005f110
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x28]
mov dword [ecx], edi
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x38]
call fcn.1007a920
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp + 0x14]
push 0x104
mov dword [ecx + 0x18], eax
lea eax, [ecx + esi]
mov dword [ecx + 0x20], eax
lea esi, [eax + 0x168]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x38]
mov word [ecx + 4], dx
movsd xmm0, qword [edi + 0x1b8]
movsd qword [ecx + 0x28], xmm0
mov ecx, 0
test byte [eax + 0x18], 0x80
mov eax, dword [ebp + 0x10]
push ecx
cmovne eax, ecx
mov dword [esp + 0x80], esi
push esi
mov dword [ebp + 0x10], eax
call fcn.101078f0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
lea eax, [ecx + 0x28]
mov dword [ecx + 4], esi
mov esi, dword [ebp + 8]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp + 0x14]
mov dword [ecx], edi
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 8
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov word [ecx + 0x16], ax
cmp dword [edi + 0x15c], 0
jne 0x100ba424
mov eax, dword [edi]
test byte [eax + 0x18], 0x40
jne 0x100ba424
mov edx, esi
mov dword [esp + 0x90], 0x1008dff0
lea ecx, [esp + 0x90]
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], edi
call fcn.100881e0
mov ecx, dword [esp + 0x20]
push 0x45
mov edx, esi
call fcn.100b4f10
add esp, 4
test esi, esi
je 0x100ba45b
cmp dword [esp + 0x24], 0
je 0x100ba446
mov ecx, esi
call fcn.1008b470
test eax, eax
je 0x100ba45b
mov eax, dword [esp + 0x14]
mov edx, esi
push 8
mov ecx, edi
push dword [eax + 0x18]
call fcn.1008e590
add esp, 8
mov ecx, dword [esp + 0x28]
xor eax, eax
xor esi, esi
cmp ax, word [ecx]
jge 0x100ba4bf
mov edx, dword [esp + 0x78]
lea edi, [ecx + 0x14]
nop
mov ecx, dword [edx]
mov eax, dword [edi + 0x14]
mov dword [edx + ecx*4 + 4], eax
inc dword [edx]
mov eax, dword [edi]
test eax, eax
je 0x100ba4ac
test byte [eax + 0x22], 0x10
je 0x100ba4ac
xor ecx, ecx
mov eax, esi
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
mov eax, dword [esp + 0x20]
cmovae edx, ecx
or dword [eax + 8], ecx
or dword [eax + 0xc], edx
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x28]
inc esi
add edi, 0x40
movsx eax, word [ecx]
cmp esi, eax
jl 0x100ba470
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 0x18]
dec esi
js 0x100ba4ea
mov edi, eax
jmp 0x100ba4d0
push esi
mov edx, edi
call fcn.100b5c00
mov ecx, dword [esp + 0x2c]
add esp, 4
dec esi
jns 0x100ba4d0
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
cmp byte [ecx + 0x36], 0
jne 0x100baa5c
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x100ba524
mov edx, dword [esp + 0x28]
push ecx
push eax
mov ecx, edi
call fcn.100b66f0
mov edx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x100ba528
mov dword [ebp + 0x10], 0
mov byte [edx + 8], 1
jmp 0x100ba528
mov edx, dword [esp + 0x14]
lea eax, [edx + 0x38]
mov dword [esp + 0x40], 0xffffffff
xor esi, esi
mov dword [esp + 0x44], eax
or edi, 0xffffffff
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x24]
or ecx, 0xffffffff
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
test eax, eax
jle 0x100baa86
dec eax
mov dword [esp + 0x5c], eax
jmp 0x100ba570
movsd xmm0, qword [0x10160aa8]
xor ecx, ecx
or eax, 0xffffffff
movsd qword [esp + 0xb0], xmm0
cmp esi, dword [esp + 0x5c]
xorps xmm2, xmm2
xorps xmm0, xmm0
movdqa xmmword [esp + 0xc0], xmm2
movsd xmm1, qword [esp + 0xc8]
setl cl
mov dword [esp + 0x58], eax
movdqa xmmword [esp + 0x90], xmm2
movdqa xmmword [esp + 0xd0], xmm2
movq qword [esp + 0xe0], xmm2
mov dword [esp + 0x48], 0
movlpd qword [esp + 0xa8], xmm0
mov dword [esp + 0x68], ecx
test ecx, ecx
js 0x100ba90d
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0xa8]
movsd qword [esp + 0x80], xmm1
mov dword [esp + 0x7c], ecx
test eax, eax
jns 0x100ba905
mov ecx, dword [esp + 0x28]
mov eax, esi
shl eax, 6
add ecx, 8
add ecx, eax
mov edx, esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x50], ecx
cmp esi, dword [esp + 0x24]
jge 0x100ba8f7
mov edi, dword [esp + 0x14]
lea eax, [esi + esi*4]
shl eax, 4
sub edi, 0xffffff80
add eax, edi
mov dword [esp + 0x4c], eax
lea ecx, [ecx]
test byte [ecx + 0x1c], 0xa
mov eax, 0
setne al
mov dword [esp + 0x54], eax
cmp edx, esi
je 0x100ba65c
test eax, eax
jne 0x100ba8f7
mov edi, dword [esp + 0x78]
xor eax, eax
mov edx, dword [edi]
test edx, edx
jle 0x100ba67c
mov esi, dword [ecx + 0x20]
lea ecx, [edi + 4]
mov edi, edi
cmp dword [ecx], esi
je 0x100ba6c2
inc eax
add ecx, 4
cmp eax, edx
jl 0x100ba670
xorps xmm0, xmm0
movlpd qword [esp + 0xb8], xmm0
mov edi, dword [esp + 0xbc]
mov esi, dword [esp + 0xb8]
mov edx, dword [esp + 0x3c]
mov ecx, esi
mov eax, edi
and ecx, edx
and eax, dword [esp + 0x40]
or ecx, eax
jne 0x100ba6d9
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x60]
cmp edx, esi
jne 0x100ba8d8
inc esi
mov dword [esp + 0x60], esi
jmp 0x100ba8d8
xor esi, esi
xor edi, edi
bts esi, eax
cmp eax, 0x20
cmovae edi, esi
xor esi, edi
cmp eax, 0x40
cmovae edi, esi
jmp 0x100ba696
cmp dword [esp + 0x68], 0
je 0x100ba6ea
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], edi
jmp 0x100ba6f6
mov eax, dword [esp + 0x40]
mov dword [esp + 0x70], edx
mov dword [esp + 0x6c], eax
cmp dword [esp + 0x64], 0
jne 0x100ba708
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x100ba708
mov edx, dword [eax]
jmp 0x100ba70a
xor edx, edx
mov eax, dword [esp + 0x50]
xor ecx, ecx
cmp dword [esp + 0x64], ecx
cmove ecx, dword [ebp + 0x10]
cmp dword [eax + 0x3c], 0
jne 0x100ba722
inc dword [esp + 0x48]
mov eax, dword [eax + 0xc]
test byte [eax + 0x22], 0x10
lea eax, [esp + 0xf0]
je 0x100ba761
push dword [esp + 0x4c]
mov ecx, dword [esp + 0x20]
push eax
push edx
push dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
push dword [esp + 0x4c]
push dword [esp + 0x80]
push dword [esp + 0x88]
push dword [esp + 0x6c]
call fcn.100b7920
jmp 0x100ba78b
push eax
push ecx
mov ecx, dword [esp + 0x24]
push edx
push dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
push dword [esp + 0x4c]
push dword [esp + 0x80]
push dword [esp + 0x88]
push dword [esp + 0x6c]
call fcn.100b7b50
mov edx, dword [esp + 0x110]
add esp, 0x20
cmp dword [esp + 0x68], 0
je 0x100ba7ac
test edx, 0x100f3000
jne 0x100ba7ac
or dword [esp + 0x7c], esi
or dword [esp + 0x74], edi
mov ecx, dword [esp + 0x110]
mov eax, dword [esp + 0x114]
and ecx, dword [esp + 0x3c]
and eax, dword [esp + 0x40]
or ecx, eax
jne 0x100ba8b7
mov ecx, dword [esp + 0x58]
test ecx, ecx
js 0x100ba7f7
and esi, dword [esp + 0x7c]
and edi, dword [esp + 0x74]
or esi, edi
jne 0x100ba7f7
test dword [esp + 0xc0], 0x100f3000
je 0x100ba7f7
test edx, 0x100f3000
je 0x100ba8b7
cmp dword [esp + 0x48], 0
je 0x100ba814
mov eax, dword [esp + 0x50]
cmp dword [eax + 0x3c], 0
je 0x100ba814
test edx, 0x100f3000
je 0x100ba8b7
test ecx, ecx
js 0x100ba84a
movsd xmm0, qword [esp + 0x108]
movsd xmm1, qword [esp + 0xb0]
comisd xmm1, xmm0
ja 0x100ba84a
movsd xmm1, qword [esp + 0x80]
jb 0x100ba8c0
comisd xmm1, xmmword [esp + 0xf8]
jbe 0x100ba8c0
movdqa xmm0, xmmword [esp + 0x100]
movdqa xmm2, xmmword [esp + 0xf0]
mov edx, dword [esp + 0x18]
movdqa xmmword [esp + 0xd0], xmm0
movq xmm0, qword [esp + 0x110]
movdqa xmmword [esp + 0xc0], xmm2
movsd xmm1, qword [esp + 0xc8]
movq qword [esp + 0xe0], xmm0
movsd xmm0, qword [esp + 0xd8]
movdqa xmmword [esp + 0x90], xmm2
mov dword [esp + 0x58], edx
movsd qword [esp + 0xb0], xmm0
movsd qword [esp + 0x80], xmm1
jmp 0x100ba8cd
movsd xmm1, qword [esp + 0x80]
movdqa xmm2, xmmword [esp + 0x90]
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x54], 0
mov esi, dword [esp + 0x60]
jne 0x100ba8f7
mov ecx, dword [esp + 0x50]
inc edx
add dword [esp + 0x4c], 0x50
add ecx, 0x40
mov dword [esp + 0x18], edx
mov dword [esp + 0x50], ecx
cmp edx, dword [esp + 0x24]
jl 0x100ba640
dec dword [esp + 0x68]
mov eax, dword [esp + 0x58]
jns 0x100ba600
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0xc0]
test eax, 0x1000000
je 0x100ba928
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x100ba928
mov dword [ecx], 0
test eax, 0x40000000
je 0x100ba933
mov byte [edx + 8], 2
mov edx, dword [esp + 0x2c]
and dword [esp + 0x30], eax
movq xmm0, qword [esp + 0xd0]
movdqu xmmword [edx], xmm2
movq qword [edx + 0x10], xmm0
test eax, 0x200f0000
je 0x100ba963
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x48]
mov dword [edx + 0x20], eax
inc dword [ecx + 0x48]
jmp 0x100ba96a
mov dword [edx + 0x20], 0xffffffff
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov edx, dword [eax + 0x168]
test edx, edx
jle 0x100ba9a2
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x28]
shl eax, 6
mov esi, dword [eax + esi + 0x28]
mov eax, dword [esp + 0x20]
add eax, 0x16c
cmp dword [eax], esi
je 0x100baa32
inc ecx
add eax, 4
cmp ecx, edx
jl 0x100ba992
xorps xmm0, xmm0
movlpd qword [esp + 0x88], xmm0
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x2c]
not eax
mov ecx, dword [esp + 0x1c]
not edx
and dword [esp + 0x40], edx
and edi, eax
comisd xmm1, xmmword [0x101609d8]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x3c], edi
mov byte [esi + 0x34], al
jb 0x100ba9f3
mulsd xmm1, qword [ecx + 0x1b8]
movsd qword [ecx + 0x1b8], xmm1
mov edx, dword [esp + 0x28]
shl eax, 6
mov eax, dword [eax + edx + 0x44]
test eax, eax
je 0x100baa0f
test dword [esp + 0xc0], 0xf0000
je 0x100baa4c
mov edx, dword [esp + 0x64]
add esi, 0x50
inc edx
mov dword [esp + 0x2c], esi
cmp edx, dword [esp + 0x24]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x14]
jge 0x100baa82
mov esi, dword [esp + 0x60]
jmp 0x100ba570
xor eax, eax
xor edx, edx
bts eax, ecx
cmp ecx, 0x20
cmovae edx, eax
xor eax, edx
cmp ecx, 0x40
cmovae edx, eax
jmp 0x100ba9bc
push dword [eax]
push str.cannot_use_index:__s
push ecx
call fcn.10061300
add esp, 0xc
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
movsd xmm0, qword [edx + 0x28]
mov ecx, dword [esp + 0x34]
movsd qword [eax + 0x1b8], xmm0
call fcn.100ba1e0
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x1c]
cmp dword [esi + 0x44], 0
jne 0x100baa5c
mov eax, dword [esp + 0x34]
cmp byte [eax + 0x36], 0
jne 0x100baa5c
and ecx, 0x4000000
je 0x100baaaf
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x100baaaf
mov dword [eax], 0
test byte [ebp + 0x14], 4
je 0x100baac8
test ecx, ecx
je 0x100baac8
lea edi, [edx + 0x38]
mov byte [edx + 6], 1
and dword [edi], 0xff7fffff
jmp 0x100baacc
mov edi, dword [esp + 0x44]
or edx, 0xffffffff
mov ecx, esi
call fcn.100975f0
mov edx, dword [esp + 0x14]
movsd xmm0, qword [0x101609d8]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x2c], 0xffffffff
movsd qword [edx + 0x30], xmm0
test ecx, ecx
jle 0x100badf3
mov dword [esp + 0x48], ecx
jmp 0x100bab10
movzx eax, byte [edi + 0x34]
mov ecx, dword [esp + 0x28]
movsd xmm0, qword [edi + 8]
add ecx, 8
shl eax, 6
add ecx, eax
mov dword [esp + 0x18], ecx
mov esi, dword [ecx + 0xc]
mov eax, dword [ecx + 0x20]
mov dword [edi + 0x1c], eax
mov edi, 0xfff0bdc0
mulsd xmm0, qword [edx + 0x30]
movsd qword [edx + 0x30], xmm0
mov edx, dword [esi + 0x44]
test edx, edx
je 0x100bab70
mov eax, dword [esp + 0x34]
xor edi, edi
mov ecx, dword [eax + 0x14]
test ecx, ecx
jle 0x100bab6c
mov eax, dword [eax + 0x10]
add eax, 0xc
jmp 0x100bab60
cmp dword [eax], edx
je 0x100bab6c
inc edi
add eax, 0x10
cmp edi, ecx
jl 0x100bab60
mov ecx, dword [esp + 0x18]
test byte [esi + 0x22], 2
jne 0x100bac59
cmp dword [esi + 0x1c], 0
jne 0x100bac59
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
test eax, 0x8000000
je 0x100babcb
mov eax, dword [esi + 0x34]
test eax, eax
je 0x100babab
mov edx, dword [esp + 0x34]
lea esp, [esp]
cmp dword [eax], edx
je 0x100babab
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x100baba0
push 0xfffffffffffffff6
push eax
push 0
push 0
push dword [ecx + 0x20]
mov ecx, dword [esp + 0x4c]
mov edx, 0x87
call fcn.1007a700
add esp, 0x14
jmp 0x100bac59
test eax, 0x800000
jne 0x100bac44
test byte [ebp + 0x14], 0x10
jne 0x100bac44
mov edx, dword [esp + 0x14]
xor eax, eax
cmp byte [edx + 6], al
mov edx, dword [ecx + 0x20]
mov ecx, dword [esp + 0x1c]
setne al
add eax, 0x27
push eax
push esi
push edi
call fcn.1009e7d0
mov eax, dword [esp + 0x20]
add esp, 0xc
cmp byte [eax + 6], 0
jne 0x100bac59
cmp dword [esi + 8], 0x40
jge 0x100bac59
mov eax, dword [esp + 0x18]
xor esi, esi
mov edx, dword [eax + 0x30]
mov ecx, dword [eax + 0x34]
mov eax, edx
or eax, ecx
je 0x100bac2d
jmp 0x100bac20
shrd edx, ecx, 1
inc esi
shr ecx, 1
mov eax, edx
or eax, ecx
jne 0x100bac20
mov eax, dword [esp + 0x38]
mov ecx, eax
push 0xfffffffffffffff2
push esi
mov edx, dword [eax + 0x1c]
dec edx
call fcn.1007acd0
add esp, 8
jmp 0x100bac59
push dword [esi]
mov ecx, dword [esp + 0x20]
mov edx, edi
push 0
push dword [esi + 0x14]
call fcn.10092970
add esp, 0xc
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
test eax, 0x20000000
je 0x100bac89
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push ecx
push dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
push dword [esp + 0x38]
push esi
call fcn.100b6e40
add esp, 0x10
jmp 0x100bad7f
test eax, 0xf0000
je 0x100bad7b
mov esi, dword [ecx + 0x10]
mov edx, esi
mov ecx, dword [esp + 0x1c]
call fcn.10097bc0
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x38]
mov esi, dword [eax + 0x1c]
cmp dword [eax + 0x20], esi
jg 0x100bacda
mov ecx, eax
call fcn.1007a4f0
test eax, eax
je 0x100bacd6
mov esi, 1
jmp 0x100bad0a
mov eax, dword [esp + 0x38]
inc dword [eax + 0x1c]
lea ecx, [esi + esi*4]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x54]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x5c]
mov word [eax + ecx*4], 0x27
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 4]
mov ecx, dword [edx]
test eax, eax
je 0x100bad69
cmp byte [ecx + 0x36], 0
jne 0x100bad69
test esi, esi
jns 0x100bad25
mov esi, dword [edx + 0x1c]
dec esi
lea eax, [esi + esi*4]
mov esi, dword [edx + 4]
mov dword [esp + 0x5c], eax
push dword [esi + eax*4 + 0x10]
movsx edx, byte [esi + eax*4 + 1]
call fcn.1007ab80
mov eax, dword [esp + 0x60]
add esp, 4
mov edx, dword [esp + 0x4c]
mov dword [esi + eax*4 + 0x10], 0
test edx, edx
jne 0x100bad5e
mov dword [esi + eax*4 + 0x10], edx
mov byte [esi + eax*4 + 1], dl
jmp 0x100bad7b
mov dword [esi + eax*4 + 0x10], edx
mov byte [esi + eax*4 + 1], 0xfa
jmp 0x100bad7b
mov edx, dword [esp + 0x4c]
push edx
mov edx, 0xfffffff0
call fcn.1007ab80
add esp, 4
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, edi
call fcn.100975f0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
xor eax, eax
mov edx, dword [ecx]
test edx, edx
jle 0x100badb0
mov esi, dword [esi + 0x20]
add ecx, 4
nop
cmp dword [ecx], esi
je 0x100bae7a
inc eax
add ecx, 4
cmp eax, edx
jl 0x100bada0
xorps xmm0, xmm0
movlpd qword [esp + 0x88], xmm0
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
mov edi, dword [esp + 0x44]
not edx
and dword [esp + 0x2c], edx
not ecx
and dword [esp + 0x30], ecx
add edi, 0x50
dec dword [esp + 0x48]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x44], edi
jne 0x100bab10
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x1c]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x34]
cmp byte [eax + 0x36], 0
jne 0x100baa60
xor esi, esi
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x2c], 0xffffffff
test ecx, ecx
jle 0x100bae72
lea edi, [edx + 0x64]
push dword [ebp + 0x14]
movzx eax, byte [edi + 8]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
push eax
lea eax, [edi - 0x2c]
push esi
push eax
call fcn.100b8ac0
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
mov edx, esi
push dword [esp + 0x44]
push dword [ebp + 0x14]
call fcn.100b8d10
mov ecx, dword [edi]
lea edi, [edi + 0x50]
mov dword [esp + 0x48], edx
inc esi
mov edx, dword [esp + 0x30]
add esp, 0x1c
mov dword [esp + 0x30], eax
mov dword [edx + 0x14], ecx
cmp esi, dword [esp + 0x24]
jl 0x100bae24
pop edi
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
xor ecx, ecx
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
jmp 0x100badca