Function at 0x1006ff90
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ac735
mov eax, dword fs:[0]
push eax
sub esp, 0x16c
mov eax, dword [0x100c90c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xd0], edi
mov eax, dword [edi]
mov dword [0x100ce88c], eax
mov eax, dword [ebp + 8]
test eax, eax
je 0x10071353
cmp dword [ebp + 0xc], 1
jne 0x10071353
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x1006fffa
cmp eax, ecx
jne 0x1006fffa
mov ecx, edi
call fcn.10072d00
mov al, 1
jmp 0x10071355
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x10070013
cmp eax, ecx
jne 0x10070013
mov ecx, edi
call fcn.10074f00
mov al, 1
jmp 0x10071355
mov ecx, dword [edi + 0x38]
test ecx, ecx
je 0x10070878
cmp eax, ecx
jne 0x10070878
mov edx, dword [edi + 0x24]
lea ecx, [ebp - 0x68]
call fcn.1001c5d0
mov dword [ebp - 4], 0
cmp dword [ebp - 0x58], 4
jne 0x1007042e
mov edx, dword [edi + 0x28]
lea ecx, [ebp - 0xc8]
call fcn.1001c5d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb0]
mov edx, dword [edi + 0x2c]
call fcn.1001c5d0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x98]
mov edx, dword [edi + 0x30]
call fcn.1001c5d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x80]
mov edx, dword [edi + 0x34]
call fcn.1001c5d0
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0xb8]
cmp edx, 0x7ffffffb
ja 0x10071372
cmp dword [ebp - 0x54], 0xf
lea ecx, [ebp - 0x68]
push edx
cmova ecx, dword [ebp - 0x68]
lea eax, [ebp - 0xc8]
cmp dword [ebp - 0xb4], 0xf
cmova eax, dword [ebp - 0xc8]
push eax
push 4
push ecx
push ecx
push dword [ebp - 0xe0]
lea ecx, [ebp - 0x110]
call fcn.1000cfb0
mov byte [ebp - 4], 5
lea eax, [ebp - 0xb0]
cmp dword [ebp - 0x9c], 0xf
lea ecx, [ebp - 0x110]
push dword [ebp - 0xa0]
cmova eax, dword [ebp - 0xb0]
push eax
call fcn.1000b210
mov dword [ebp - 0x11c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x12c], xmm0
mov dword [ebp - 0x118], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x12c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x11c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 6
lea eax, [ebp - 0x98]
cmp dword [ebp - 0x84], 0xf
lea ecx, [ebp - 0x12c]
push dword [ebp - 0x88]
cmova eax, dword [ebp - 0x98]
push eax
call fcn.1000b210
mov dword [ebp - 0xe8], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0xf8], xmm0
mov dword [ebp - 0xe4], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xf8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xe8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 7
lea eax, [ebp - 0x80]
cmp dword [ebp - 0x6c], 0xf
lea ecx, [ebp - 0xf8]
push dword [ebp - 0x70]
cmova eax, dword [ebp - 0x80]
push eax
call fcn.1000b210
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x18], xmm0
mov byte [ebp - 4], 9
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0xe4]
cmp ecx, 0xf
jbe 0x1007022d
mov edx, dword [ebp - 0xf8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10070223
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10071377
push ecx
push edx
call fcn.100859f6
add esp, 8
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0xf
mov byte [ebp - 0xf8], 0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x118]
cmp ecx, 0xf
jbe 0x10070286
mov edx, dword [ebp - 0x12c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007027c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10071377
push ecx
push edx
call fcn.100859f6
add esp, 8
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xfc]
cmp ecx, 0xf
jbe 0x100702df
mov edx, dword [ebp - 0x110]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100702d5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10071377
push ecx
push edx
call fcn.100859f6
add esp, 8
cmp dword [ebp - 0x18], 0x14
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0xf
mov byte [ebp - 0x110], 0
je 0x10070646
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x1007033c
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10070332
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007137c
push ecx
push edx
call fcn.100859f6
add esp, 8
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x6c]
cmp ecx, 0xf
jbe 0x10070374
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007036a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007137c
push ecx
push edx
call fcn.100859f6
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x84]
cmp ecx, 0xf
jbe 0x100703b2
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100703a8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007137c
push ecx
push edx
call fcn.100859f6
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x9c]
cmp ecx, 0xf
jbe 0x100703f0
mov edx, dword [ebp - 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100703e6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007137c
push ecx
push edx
call fcn.100859f6
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0xb4]
cmp ecx, 0xf
jbe 0x1007042e
mov edx, dword [ebp - 0xc8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10070424
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007137c
push ecx
push edx
call fcn.100859f6
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov ecx, eax
call fcn.100a7ed0
addss xmm0, dword [0x100bec5c]
xor ecx, ecx
movss dword [edi + 0x1ac], xmm0
movaps xmm0, xmmword [str.2b_EW_]
movups xmmword [ebp - 0xf0], xmm0
nop dword [eax + eax]
mov al, byte [ebp - 0xf0]
xor byte [ebp + ecx - 0xef], al
inc ecx
cmp ecx, 0xe
jb 0x10070460
xorps xmm0, xmm0
mov byte [ebp - 0xe1], 0
lea ecx, [ebp - 0xef]
mov dword [ebp - 0x100], 0
movups xmmword [ebp - 0x110], xmm0
mov dword [ebp - 0xfc], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100704a1
sub ecx, edx
lea eax, [ebp - 0xef]
push ecx
push eax
lea ecx, [ebp - 0x110]
call fcn.10002620
mov byte [ebp - 4], 0xe
xor ecx, ecx
movaps xmm0, xmmword [0x100bfeb0]
movups xmmword [ebp - 0x178], xmm0
mov dword [ebp - 0x138], 0x776c6b6f
movaps xmm0, xmmword [0x100bf640]
movups xmmword [ebp - 0x168], xmm0
mov dword [ebp - 0x134], 0x2c716776
movaps xmm0, xmmword [0x100bffd0]
movups xmmword [ebp - 0x158], xmm0
mov word [ebp - 0x130], 0x23
movaps xmm0, xmmword [0x100bf3e0]
movups xmmword [ebp - 0x148], xmm0
nop dword [eax + eax]
mov al, byte [ebp - 0x178]
xor byte [ebp + ecx - 0x177], al
inc ecx
cmp ecx, 0x48
jb 0x10070520
xorps xmm0, xmm0
mov byte [ebp - 0x12f], 0
lea ecx, [ebp - 0x177]
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10070558
sub ecx, edx
lea eax, [ebp - 0x177]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.10002620
push 0
push 0
lea edx, [ebp - 0x110]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.1002e260
mov byte [ebp - 4], 0xe
add esp, 8
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x100705c2
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100705b8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10071377
push ecx
push edx
call fcn.100859f6
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0xfc]
cmp ecx, 0xf
jbe 0x10070600
mov edx, dword [ebp - 0x110]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100705f6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10071377
push ecx
push edx
call fcn.100859f6
add esp, 8
mov ecx, edi
call fcn.10074d00
mov ecx, dword [ebp - 0x54]
cmp ecx, 0xf
jbe 0x10070871
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10070635
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10071377
push ecx
push edx
call fcn.100859f6
add esp, 8
mov al, 1
jmp 0x10071355
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
push 0x1000
lea ecx, [ebp - 0x48]
movq qword [ebp - 0x38], xmm0
movups xmmword [ebp - 0x48], xmm0
call fcn.10012700
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x34]
mov esi, edx
mov ecx, dword [ebp - 0x38]
sub esi, ecx
mov dword [ebp - 0x48], vtable.Packet.0
mov dword [ebp - 0xd4], edx
cmp esi, 0x989680
ja 0x100706d9
mov edx, dword [ebp - 0x3c]
inc edx
cmp esi, edx
jae 0x100706c3
mov eax, dword [ebp - 0x30]
sub eax, ecx
cmp edx, eax
jbe 0x100706a6
push ecx
push edx
lea ecx, [ebp - 0x38]
call fcn.100127b0
jmp 0x100706c0
mov eax, dword [ebp - 0xd4]
sub edx, esi
push edx
push 0
push eax
lea esi, [eax + edx]
call fcn.10087b80
add esp, 0xc
mov dword [ebp - 0x34], esi
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov byte [ecx + eax], 0xa1
mov edx, dword [ebp - 0x34]
inc dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0xd4], edx
mov eax, edx
mov byte [ebp - 4], 0xd
sub eax, ecx
mov dword [ebp - 0xd0], eax
cmp eax, 0x989680
ja 0x10070735
mov esi, dword [ebp - 0x3c]
inc esi
cmp eax, esi
jae 0x1007072b
mov eax, dword [ebp - 0x30]
sub eax, ecx
cmp esi, eax
jbe 0x1007070b
push ecx
push esi
lea ecx, [ebp - 0x38]
call fcn.100127b0
jmp 0x10070728
sub esi, dword [ebp - 0xd0]
push esi
push 0
push edx
call fcn.10087b80
mov eax, dword [ebp - 0xd4]
add esp, 0xc
add eax, esi
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov byte [ecx + eax], 0xa6
inc dword [ebp - 0x3c]
push 0
lea ecx, [ebp - 0x48]
call fcn.10023ed0
mov edx, eax
mov eax, dword [edx + 0x14]
mov dword [ebp - 0xd4], eax
sub eax, dword [edx + 0x10]
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xd0], eax
lea ecx, [edx + 0x10]
mov dword [ebp - 0xdc], ecx
cmp eax, 0x989680
ja 0x100707ce
mov esi, dword [edx + 0xc]
inc esi
cmp eax, esi
jae 0x100707bf
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
cmp esi, eax
jbe 0x1007078f
push ecx
push esi
call fcn.100127b0
mov edx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xdc]
jmp 0x100707c2
sub esi, dword [ebp - 0xd0]
push esi
push 0
push dword [ebp - 0xd4]
call fcn.10087b80
mov eax, dword [ebp - 0xd4]
add esp, 0xc
mov edx, dword [ebp - 0xd8]
add eax, esi
mov esi, dword [ebp - 0xdc]
mov dword [esi + 4], eax
jmp 0x100707c2
lea esi, [edx + 0x10]
mov ecx, dword [edx + 0xc]
mov eax, dword [esi]
mov byte [ecx + eax], 3
inc dword [edx + 0xc]
lea eax, [ebp - 0x28]
mov ecx, edx
push eax
call fcn.10022a30
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
sub ecx, eax
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd0], eax
cmp ecx, 0x4000
ja 0x1007081c
mov eax, dword [0x100ce570]
mov dword [ebp - 0xd4], eax
mov ecx, dword ds:[0x100b6b8c]
mov ecx, dword ds:[ecx]
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
call dword [ebp - 0xd4]
mov ecx, edi
call fcn.10074d00
lea ecx, [ebp - 0x48]
call fcn.100129b0
lea ecx, [ebp - 0x28]
call fcn.10002410
lea ecx, [ebp - 0x80]
call fcn.10002410
lea ecx, [ebp - 0x98]
call fcn.10002410
lea ecx, [ebp - 0xb0]
call fcn.10002410
lea ecx, [ebp - 0xc8]
call fcn.10002410
mov eax, dword [ebp - 0x54]
cmp eax, 0xf
jbe 0x10070871
inc eax
lea ecx, [ebp - 0x68]
push eax
push dword [ebp - 0x68]
call fcn.100023d0
mov al, 1
jmp 0x10071355
mov ecx, dword [edi + 0x3c]
test ecx, ecx
je 0x10070891
cmp eax, ecx
jne 0x10070891
mov ecx, edi
call fcn.10074d00
mov al, 1
jmp 0x10071355
mov ecx, dword [edi + 0x54]
test ecx, ecx
je 0x10070b3c
cmp eax, ecx
jne 0x10070b3c
cmp dword [edi + 0x5c], 0
jbe 0x10070871
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
push 0x1000
lea ecx, [ebp - 0x2c]
movq qword [ebp - 0x1c], xmm0
movups xmmword [ebp - 0x2c], xmm0
call fcn.10012700
mov dword [ebp - 4], 0x10
mov esi, dword [ebp - 0x18]
mov eax, esi
mov ecx, dword [ebp - 0x1c]
sub eax, ecx
mov dword [ebp - 0x2c], vtable.Packet.0
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0xd0], eax
cmp eax, 0x989680
ja 0x10070941
mov edx, dword [ebp - 0x20]
inc edx
cmp eax, edx
jae 0x10070931
mov eax, dword [ebp - 0x14]
sub eax, ecx
cmp edx, eax
jbe 0x10070912
push ecx
push edx
lea ecx, [ebp - 0x1c]
call fcn.100127b0
jmp 0x1007092e
sub edx, dword [ebp - 0xd0]
push edx
push 0
push dword [ebp - 0xcc]
add esi, edx
call fcn.10087b80
add esp, 0xc
mov dword [ebp - 0x18], esi
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov byte [ecx + eax], 0xa1
inc dword [ebp - 0x20]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov eax, esi
mov dword [ebp - 4], 0x11
sub eax, ecx
mov dword [ebp - 0xd0], eax
cmp eax, 0x989680
ja 0x100709ac
mov edx, dword [ebp - 0x20]
inc edx
cmp eax, edx
jae 0x1007099c
mov eax, dword [ebp - 0x14]
sub eax, ecx
cmp edx, eax
jbe 0x10070976
push ecx
push edx
lea ecx, [ebp - 0x1c]
call fcn.100127b0
jmp 0x10070999
sub edx, dword [ebp - 0xd0]
push edx
push 0
push esi
mov dword [ebp - 0xcc], edx
call fcn.10087b80
mov eax, dword [ebp - 0xcc]
add esp, 0xc
add eax, esi
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov byte [ecx + eax], 0xa6
inc dword [ebp - 0x20]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov eax, esi
sub eax, ecx
mov dword [ebp - 0xd0], eax
cmp eax, 0x989680
ja 0x10070a10
mov edx, dword [ebp - 0x20]
inc edx
cmp eax, edx
jae 0x10070a00
mov eax, dword [ebp - 0x14]
sub eax, ecx
cmp edx, eax
jbe 0x100709da
push ecx
push edx
lea ecx, [ebp - 0x1c]
call fcn.100127b0
jmp 0x100709fd
sub edx, dword [ebp - 0xd0]
push edx
push 0
push esi
mov dword [ebp - 0xcc], edx
call fcn.10087b80
mov eax, dword [ebp - 0xcc]
add esp, 0xc
add eax, esi
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov byte [ecx + eax], 0xa
inc dword [ebp - 0x20]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov eax, esi
sub eax, ecx
mov dword [ebp - 0xd0], eax
cmp eax, 0x989680
ja 0x10070a74
mov edx, dword [ebp - 0x20]
inc edx
cmp eax, edx
jae 0x10070a64
mov eax, dword [ebp - 0x14]
sub eax, ecx
cmp edx, eax
jbe 0x10070a3e
push ecx
push edx
lea ecx, [ebp - 0x1c]
call fcn.100127b0
jmp 0x10070a61
sub edx, dword [ebp - 0xd0]
push edx
push 0
push esi
mov dword [ebp - 0xcc], edx
call fcn.10087b80
mov eax, dword [ebp - 0xcc]
add esp, 0xc
add eax, esi
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov byte [ecx + eax], 2
inc dword [ebp - 0x20]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0xd4], eax
mov eax, esi
sub eax, ecx
mov dword [ebp - 0xd0], eax
cmp eax, 0x989680
ja 0x10070ae9
mov edx, dword [ebp - 0x20]
add edx, 4
cmp eax, edx
jae 0x10070ad3
mov eax, dword [ebp - 0x14]
sub eax, ecx
cmp edx, eax
jbe 0x10070aad
push ecx
push edx
lea ecx, [ebp - 0x1c]
call fcn.100127b0
jmp 0x10070ad0
sub edx, dword [ebp - 0xd0]
push edx
push 0
push esi
mov dword [ebp - 0xcc], edx
call fcn.10087b80
mov eax, dword [ebp - 0xcc]
add esp, 0xc
add eax, esi
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0xd4]
mov dword [ecx + eax], edx
add dword [ebp - 0x20], 4
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
sub esi, ecx
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], esi
cmp esi, 0x4000
ja 0x10070b26
mov eax, dword [0x100ce570]
mov dword [ebp - 0xd4], eax
mov ecx, dword ds:[0x100b6b8c]
mov ecx, dword ds:[ecx]
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
call dword [ebp - 0xd4]
mov ecx, edi
call fcn.10075150
lea ecx, [ebp - 0x2c]
call fcn.100129b0
mov al, 1
jmp 0x10071355
mov ecx, dword [edi + 0x58]
test ecx, ecx
je 0x10070b55
cmp eax, ecx
jne 0x10070b55
mov ecx, edi
call fcn.10075150
mov al, 1
jmp 0x10071355
mov ecx, dword [edi + 0x80]
test ecx, ecx
je 0x10070b71
cmp eax, ecx
jne 0x10070b71
mov ecx, edi
call fcn.10076b60
mov al, 1
jmp 0x10071355
mov ecx, dword [edi + 0x84]
test ecx, ecx
je 0x10070b8d
cmp eax, ecx
jne 0x10070b8d
mov ecx, edi
call fcn.10076690
mov al, 1
jmp 0x10071355
mov ecx, dword [edi + 0x8c]
test ecx, ecx
je 0x10070bd2
cmp eax, ecx
jne 0x10070bd2
mov al, byte [edi + 0x1a4]
sub esp, 0x18
mov edx, dword [edi + 0x88]
mov ecx, esp
mov esi, dword [edi + 0x19c]
mov dword [ebp - 0xcc], eax
call fcn.1001c5d0
push dword [ebp - 0xcc]
mov ecx, edi
push esi
call fcn.10073660
mov al, 1
jmp 0x10071355
mov ecx, dword [edi + 0x188]
test ecx, ecx
je 0x10070bee
cmp eax, ecx
jne 0x10070bee
mov ecx, edi
call fcn.10076830
mov al, 1
jmp 0x10071355
mov ecx, dword [edi + 0x18c]
test ecx, ecx
je 0x10070c0a
cmp eax, ecx
jne 0x10070c0a
mov ecx, edi
call fcn.10077730
mov al, 1
jmp 0x10071355
mov ecx, dword [edi + 0x198]
test ecx, ecx
je 0x10070c61
cmp eax, ecx
jne 0x10070c61
mov esi, dword [edi + 0x19c]
cmp esi, dword [edi + 0x1a0]
jae 0x10070871
mov al, byte [edi + 0x1a4]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xcc], eax
inc esi
mov dword [edi + 0x19c], esi
push 0x100b68a3
call fcn.100026c0
push dword [ebp - 0xcc]
mov ecx, edi
push esi
call fcn.10073660
mov al, 1
jmp 0x10071355
mov ecx, dword [edi + 0x190]
test ecx, ecx
je 0x10070cb5
cmp eax, ecx
jne 0x10070cb5
mov esi, dword [edi + 0x19c]
cmp esi, 1
jbe 0x10070871
mov al, byte [edi + 0x1a4]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xcc], eax
dec esi
mov dword [edi + 0x19c], esi
push 0x100b68a3
call fcn.100026c0
push dword [ebp - 0xcc]
mov ecx, edi
push esi
call fcn.10073660
mov al, 1
jmp 0x10071355
lea eax, [edi + 0x90]
xor cl, cl
mov edx, eax
mov dword [ebp - 0xcc], eax
mov eax, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
mov byte [ebp - 0xd8], cl
mov dword [ebp - 0xd4], edx
mov esi, dword [edx]
test esi, esi
je 0x10070daa
cmp dword [ebp + 8], esi
jne 0x10070daa
mov edi, dword [ebp - 0xcc]
mov dword [ebp - 0xdc], 6
nop dword [eax]
mov esi, dword [edi]
test esi, esi
je 0x10070d1e
push 4
push esi
call eax
test eax, eax
jne 0x10070d19
push 2
mov ecx, esi
call dword [0x100bd60c]
mov eax, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
add edi, 4
sub dword [ebp - 0xdc], 1
jne 0x10070d00
mov esi, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd0]
mov esi, dword [esi]
test esi, esi
je 0x10070d4f
push 4
push esi
call eax
test eax, eax
jne 0x10070d4f
push 3
mov ecx, esi
call dword [0x100bd60c]
mov al, byte [ebp - 0xd8]
sub esp, 0x18
mov ecx, esp
mov dword [edi + 0x19c], 1
mov byte [edi + 0x1a4], al
xorps xmm0, xmm0
push 0
movups xmmword [ecx], xmm0
push 0x100b68a3
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10002620
push dword [ebp - 0xd8]
mov ecx, edi
push 1
call fcn.10073660
mov eax, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
mov cl, byte [ebp - 0xd8]
mov edx, dword [ebp - 0xd4]
inc cl
add edx, 4
mov byte [ebp - 0xd8], cl
mov dword [ebp - 0xd4], edx
cmp cl, 6
jb 0x10070cd6
mov ecx, 0xd78d1c
mov byte [ebp - 0xd8], 0
call fcn.1001cb40
mov esi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x10070e08
push 4
push eax
call esi
test eax, eax
jne 0x10070e08
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xdc], eax
jmp 0x10070e1c
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xdc], 0
mov eax, dword [edi + 0x18]
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x10070ea0
push 4
push eax
call esi
test eax, eax
jne 0x10070ea0
mov eax, dword [ebp - 0xcc]
add eax, 0xfc
push 4
push eax
mov dword [ebp - 0xcc], eax
call esi
test eax, eax
jne 0x10070ea0
mov eax, dword [ebp - 0xcc]
mov al, byte [eax]
test al, al
je 0x10070ea0
mov eax, dword [edi + 0x18]
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x10070ea0
push 4
push eax
call esi
test eax, eax
jne 0x10070ea0
push dword [ebp - 0xdc]
mov eax, dword [0x100bd5f0]
push dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xcc]
call eax
mov ecx, dword [ebp - 0xd8]
test al, al
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [ebp - 0xd8], ecx
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x10070f24
push 4
push eax
call esi
test eax, eax
jne 0x10070f24
mov eax, dword [ebp - 0xcc]
add eax, 0xfc
push 4
push eax
mov dword [ebp - 0xcc], eax
call esi
test eax, eax
jne 0x10070f24
mov eax, dword [ebp - 0xcc]
mov al, byte [eax]
test al, al
je 0x10070f24
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x10070f24
push 4
push eax
call esi
test eax, eax
jne 0x10070f24
push dword [ebp - 0xdc]
mov eax, dword [0x100bd5f0]
push dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xcc]
call eax
mov ecx, dword [ebp - 0xd8]
test al, al
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov byte [ebp - 0xd8], cl
mov eax, dword [edi + 0x20]
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x10070f97
push 4
push eax
call esi
test eax, eax
jne 0x10070f97
mov eax, dword [ebp - 0xcc]
add eax, 0xfc
push 4
push eax
mov dword [ebp - 0xcc], eax
call esi
test eax, eax
jne 0x10070f97
mov eax, dword [ebp - 0xcc]
mov al, byte [eax]
test al, al
je 0x10070f97
mov eax, dword [edi + 0x20]
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x10070f97
push 4
push eax
call esi
test eax, eax
jne 0x10070f97
push dword [ebp - 0xdc]
mov eax, dword [0x100bd5f0]
push dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xcc]
call eax
test al, al
jne 0x10070871
cmp byte [ebp - 0xd8], 0
jne 0x10070871
mov ecx, dword [edi + 0xe0]
mov eax, 0x92492493
sub ecx, dword [edi + 0xdc]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10070871
mov eax, dword [edi + 0xdc]
xor ecx, ecx
xor esi, esi
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], esi
mov edx, eax
mov ecx, dword [eax + esi + 0xc]
movaps xmm0, xmmword [0x100bec90]
test ecx, ecx
je 0x100710a6
cmp dword [ebp + 8], ecx
jne 0x100710a6
mov eax, dword [eax + esi + 0x1c]
mov dword [edi + 0x5c], eax
mov ecx, dword [edx + esi + 0x20]
xor esi, esi
mov dword [edi + 0x60], ecx
mov edx, dword [edi + 0xec]
mov dword [ebp - 0xd4], ecx
mov ecx, dword [edi + 0xe8]
sub edx, ecx
sar edx, 6
mov dword [ebp - 0xcc], eax
test edx, edx
je 0x10071098
nop
cmp dword [ecx + 0x18], eax
jne 0x10071043
mov eax, dword [edi + 0x60]
cmp eax, dword [ecx + 0x1c]
je 0x1007104d
mov eax, dword [ebp - 0xcc]
inc esi
add ecx, 0x40
cmp esi, edx
jb 0x10071030
jmp 0x10071098
mov eax, dword [ebp - 0xd4]
dec eax
cmp eax, 0x5f5e0fe
ja 0x1007107a
lea eax, [ecx + 0x34]
push eax
lea ecx, [edi + 0x70]
call fcn.1001a4c0
mov ecx, dword [edi + 0x40]
mov edx, esi
shl edx, 6
add edx, dword [edi + 0xe8]
call fcn.1001c9d0
mov ecx, dword [edi + 0xe8]
shl esi, 6
mov eax, dword [esi + ecx + 0x20]
mov dword [edi + 0x64], eax
mov eax, dword [esi + ecx + 0x24]
mov dword [edi + 0x68], eax
mov eax, dword [esi + ecx + 0x28]
mov dword [edi + 0x6c], eax
mov ecx, edi
call fcn.100757a0
movaps xmm0, xmmword [0x100bec90]
mov esi, dword [edi + 0xdc]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + esi + 0x10]
test ecx, ecx
je 0x100712fa
cmp dword [ebp + 8], ecx
jne 0x100712fa
mov eax, dword [edi + 0xec]
xor edx, edx
mov ecx, dword [edi + 0xe8]
sub eax, ecx
sar eax, 6
mov dword [ebp - 0x114], eax
test eax, eax
mov eax, dword [ebp - 0xd8]
je 0x100712fa
mov eax, dword [eax + esi + 0x20]
mov dword [ebp - 0xcc], eax
xor eax, eax
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xcc], 0
mov dword [ebp - 0xe0], ecx
jbe 0x1007111b
cmp dword [ebp - 0xcc], 0x5f5e100
jb 0x1007116e
mov edi, dword [ebp - 0xd8]
mov eax, dword [ecx + eax + 0x18]
cmp eax, dword [esi + edi + 0x1c]
mov edi, dword [ebp - 0xd0]
jne 0x10071151
mov eax, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd8]
mov eax, dword [ecx + eax + 0x1c]
cmp eax, dword [esi + edi + 0x20]
mov edi, dword [ebp - 0xd0]
je 0x100712da
mov eax, dword [ebp - 0xd4]
inc edx
add eax, 0x40
mov dword [ebp - 0xd4], eax
cmp edx, dword [ebp - 0x114]
jb 0x10071100
jmp 0x100712fa
movups xmmword [ebp - 0xf0], xmm0
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ebp - 0xf0]
xor byte [ebp + ecx - 0xef], al
inc ecx
cmp ecx, 0xe
jb 0x10071180
xorps xmm0, xmm0
mov byte [ebp - 0xe1], 0
lea ecx, [ebp - 0xef]
mov dword [ebp - 0x100], 0
movups xmmword [ebp - 0x110], xmm0
mov dword [ebp - 0xfc], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100711c1
sub ecx, edx
lea eax, [ebp - 0xef]
push ecx
push eax
lea ecx, [ebp - 0x110]
call fcn.10002620
mov dword [ebp - 4], 0x12
xor ecx, ecx
movaps xmm0, xmmword [0x100bfe10]
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x30], 0x272872
movaps xmm0, xmmword [0x100c00e0]
movups xmmword [ebp - 0x40], xmm0
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0x22
jb 0x10071203
xorps xmm0, xmm0
mov byte [ebp - 0x2d], 0
lea ecx, [ebp - 0x4f]
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10071230
sub ecx, edx
lea eax, [ebp - 0x4f]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.10002620
push 0
push 0
lea edx, [ebp - 0x110]
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x28]
call fcn.1002e260
mov byte [ebp - 4], 0x12
add esp, 8
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x10071297
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007128d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10071377
push ecx
push edx
call fcn.100859f6
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xfc]
cmp ecx, 0xf
jbe 0x100712fa
mov edx, dword [ebp - 0x110]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100712ce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10071377
push ecx
push edx
call fcn.100859f6
add esp, 8
jmp 0x100712fa
mov eax, dword [ebp - 0xe0]
mov ecx, edi
shl edx, 6
push dword [edx + eax + 0x24]
push dword [edx + eax + 0x20]
push dword [edx + eax + 0x1c]
push dword [edx + eax + 0x18]
call fcn.10076ed0
mov eax, dword [edi + 0xdc]
mov ecx, dword [edi + 0xe0]
mov esi, dword [ebp - 0xd8]
sub ecx, eax
inc dword [ebp - 0xdc]
add esi, 0x38
mov dword [ebp - 0xe0], eax
mov eax, 0x92492493
imul ecx
mov dword [ebp - 0xd8], esi
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0xdc], eax
jae 0x10070871
mov eax, dword [edi + 0xdc]
mov edx, dword [ebp - 0xe0]
jmp 0x10070fe1
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10085995
mov esp, ebp
pop ebp
ret 8
call fcn.10002460
call fcn.1008ac0f
call fcn.1008ac0f
int3