Function at 0x10021c3a
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x74
mov eax, 0x1007eaaf
call fcn.1007b1d7
cmp dword [0x100e7400], 0
je 0x10022133
mov ecx, dword [0x1009dc24]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x10022133
xor ecx, ecx
mov eax, ecx
mov dword [ebp - 0x40], ecx
mov esi, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], ecx
mov ebx, ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ecx
mov edi, ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x58], ecx
mov ecx, dword [0x100df2a0]
mov byte [ebp - 4], 2
mov eax, dword [ecx]
mov eax, dword [eax + 0x158]
call eax
mov ecx, dword [0x100df2a0]
movzx eax, ax
mov dword [ebp - 0x2c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x160]
call eax
mov edx, dword [ebp - 0x2c]
cmp dx, ax
je 0x10021dd5
mov ecx, dword [0x100df2a0]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x164]
call eax
mov esi, eax
mov dword [ebp - 0x30], esi
test esi, esi
je 0x10021d8b
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xa8]
test al, al
jne 0x10021d8b
mov eax, dword [esi]
mov ecx, esi
push 0x811c9dc5
call dword [eax + 4]
push eax
call fcn.1000392c
pop ecx
pop ecx
cmp eax, 0x7e3ce5c1
je 0x10021d6c
cmp eax, 0xbb2da711
je 0x10021d49
cmp eax, 0xd402d032
jne 0x10021d8b
cmp ebx, dword [ebp - 0x4c]
je 0x10021d37
mov dword [ebx], esi
add ebx, 4
mov dword [ebp - 0x50], ebx
jmp 0x10021d8b
lea eax, [ebp - 0x30]
push eax
push ebx
lea ecx, [ebp - 0x54]
call fcn.1001bbec
mov ebx, dword [ebp - 0x50]
jmp 0x10021d8b
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x34]
je 0x10021d5d
mov dword [eax], esi
mov esi, eax
add esi, 4
mov dword [ebp - 0x38], esi
jmp 0x10021d8e
lea ecx, [ebp - 0x30]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.1001bbec
jmp 0x10021d8b
cmp edi, dword [ebp - 0x58]
je 0x10021d7b
mov dword [edi], esi
add edi, 4
mov dword [ebp - 0x5c], edi
jmp 0x10021d8b
lea eax, [ebp - 0x30]
push eax
push edi
lea ecx, [ebp - 0x60]
call fcn.1001bbec
mov edi, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x38]
mov ecx, dword [0x100df2a0]
push dword [ebp - 0x2c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x15c]
call eax
mov ecx, dword [0x100df2a0]
movzx eax, ax
mov dword [ebp - 0x2c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x160]
call eax
mov edx, dword [ebp - 0x2c]
cmp dx, ax
jne 0x10021ccf
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x44], eax
mov eax, dword [0x1009dc34]
mov ecx, dword [0x100e7624]
movaps xmm0, xmmword [0x10087f00]
movups xmmword [ebp - 0x80], xmm0
mov eax, dword [eax]
mov dword [ebp - 0x70], 0x5e54495c
mov dword [ebp - 0x6c], 0x4d524f4d
mov byte [ebp - 0x68], 0x3d
mov eax, dword [eax + 0x44]
mov dword [ebp - 0x2c], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100dfe94]
cmp eax, dword [ecx + 4]
jg 0x10022139
mov ecx, 0x100dfe78
call fcn.1000a98b
push eax
lea ecx, [ebp - 0x28]
call fcn.10001eca
cmp dword [eax + 0x14], 0xf
mov byte [ebp - 4], 3
jbe 0x10021e3e
mov eax, dword [eax]
mov ecx, dword [0x1009dc34]
push eax
call dword [ebp - 0x2c]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 2
call fcn.10002d5d
mov ecx, dword [0x100e73b8]
cmp byte [ecx + 0x1e4], 0
je 0x10021fc7
movd xmm0, dword [ecx + 0x1e8]
cvtdq2ps xmm0, xmm0
movss xmm1, dword [0x10084674]
movaps xmm2, xmm1
movss xmm3, dword [0x10087de0]
divss xmm0, dword [0x10084750]
subss xmm2, xmm0
subss xmm3, xmm0
movss dword [ebp - 0x64], xmm2
movss dword [ebp - 0x48], xmm3
cmp dword [ebp - 0x40], esi
je 0x10021f00
mov ebx, dword [ebp - 0x40]
cmp byte [ecx + 0x284], 0
mov edx, dword [ebx]
mov eax, dword [edx]
je 0x10021ec2
movaps xmm0, xmm1
movaps xmm3, xmm1
movaps xmm2, xmm1
jmp 0x10021ec8
movaps xmm0, xmm2
movaps xmm3, xmm2
sub esp, 0xc
mov ecx, edx
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm3
movss dword [esp], xmm2
call dword [eax + 0x70]
add ebx, 4
cmp ebx, esi
je 0x10021efd
mov ecx, dword [0x100e73b8]
movss xmm1, dword [0x10084674]
movss xmm2, dword [ebp - 0x64]
jmp 0x10021eaa
mov ebx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x2c]
push 0
mov eax, dword [ecx]
call dword [eax + 0x40]
cmp dword [ebp - 0x30], ebx
je 0x10021f5c
mov esi, dword [ebp - 0x30]
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 0x70]
mov eax, dword [0x100e73b8]
cmp byte [eax + 0x284], 0
je 0x10021f31
movss xmm0, dword [0x10084674]
jmp 0x10021f36
movss xmm0, dword [ebp - 0x48]
sub esp, 0xc
movaps xmm1, xmm0
movaps xmm2, xmm0
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm2
movss dword [esp], xmm0
call edx
add esi, 4
cmp esi, ebx
jne 0x10021f12
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x44], edi
je 0x10022072
mov esi, dword [ebp - 0x44]
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 0x70]
mov eax, dword [0x100e73b8]
cmp byte [eax + 0x284], 0
je 0x10021f8d
movss xmm0, dword [0x10084674]
movaps xmm1, xmm0
movaps xmm2, xmm0
jmp 0x10021fa5
movss xmm1, dword [eax + 0x218]
movss xmm2, dword [eax + 0x214]
movss xmm0, dword [eax + 0x210]
sub esp, 0xc
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm2
movss dword [esp], xmm0
call edx
add esi, 4
cmp esi, edi
jne 0x10021f68
jmp 0x1002206f
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
cmp eax, esi
je 0x10021ffe
mov ebx, eax
mov ecx, dword [ebx]
sub esp, 0xc
mov eax, dword [ecx]
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [eax + 0x70]
add ebx, 4
cmp ebx, esi
jne 0x10021fd3
mov ebx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x2c]
push 0xffffffffffffffff
mov eax, dword [ecx]
call dword [eax + 0x40]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x48], eax
cmp eax, ebx
je 0x1002203f
mov esi, eax
mov ecx, dword [esi]
sub esp, 0xc
mov eax, dword [ecx]
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [eax + 0x70]
add esi, 4
cmp esi, ebx
jne 0x10022014
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x44], edi
je 0x10022072
mov esi, dword [ebp - 0x44]
mov ecx, dword [esi]
sub esp, 0xc
mov eax, dword [ecx]
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [eax + 0x70]
add esi, 4
cmp esi, edi
jne 0x10022047
mov esi, dword [ebp - 0x38]
mov eax, dword [0x100e73b8]
cmp byte [eax + 0x284], 0
je 0x1002211b
cmp dword [ebp - 0x40], esi
je 0x100220b7
mov ebx, dword [ebp - 0x40]
mov ecx, dword [ebx]
sub esp, 0xc
mov eax, dword [ecx]
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [eax + 0x70]
add ebx, 4
cmp ebx, esi
jne 0x1002208c
mov ebx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x2c]
push 0xffffffffffffffff
mov eax, dword [ecx]
call dword [eax + 0x40]
mov esi, dword [ebp - 0x30]
jmp 0x100220ea
mov ecx, dword [esi]
sub esp, 0xc
mov eax, dword [ecx]
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [eax + 0x70]
add esi, 4
cmp esi, ebx
jne 0x100220c6
mov ebx, dword [ebp - 0x44]
jmp 0x10022117
mov ecx, dword [ebx]
sub esp, 0xc
mov eax, dword [ecx]
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [eax + 0x70]
add ebx, 4
cmp ebx, edi
jne 0x100220f3
lea ecx, [ebp - 0x60]
call fcn.1001d83c
lea ecx, [ebp - 0x54]
call fcn.1001d83c
lea ecx, [ebp - 0x3c]
call fcn.1001d83c
call fcn.1007b195
ret
push 0x100dfe94
call fcn.1007b2f8
cmp dword [0x100dfe94], 0xffffffff
pop ecx
jne 0x10021e1f
lea eax, [ebp - 0x80]
mov ecx, 0x100dfe78
push eax
call fcn.1000a8d4
push 0x10082062
call fcn.1007b15e
mov dword [esp], 0x100dfe94
call fcn.1007b2a7
pop ecx
jmp 0x10021e1f