Function at 0x10026010
Capabilities:
Check for time delay via gettickcount
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100335fb
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2c8
mov eax, dword [0x1003f00c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x1003fcf7], 0
je 0x1002724f
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [0x10041174]
cmp eax, 0x1f4
jb 0x1002613e
call esi
mov dword [0x10041174], eax
call esi
sub eax, dword [0x10111e68]
cmp eax, 0x1f4
jb 0x1002613e
call esi
push 0x114
mov dword [0x10111e68], eax
lea eax, [ebp - 0x2c8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
lea eax, [ebp - 0x2b7]
mov dword [ebp - 0x2c8], 0
add esp, 0xc
mov dword [ebp - 0x2c4], 0x800
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], eax
mov byte [ebp - 0x2b8], 1
mov dword [ebp - 4], 0
lea edx, [ebp - 0x2c8]
mov eax, dword [0x10041178]
push 0
push 0
push 8
mov ecx, dword [eax + 0x25]
push 1
mov dword [ebp - 0x164], 0x9b
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x164]
push edx
call dword [eax + 0x64]
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x2b8], 0
je 0x1002613e
cmp dword [ebp - 0x2c4], 0x800
jle 0x1002613e
push dword [ebp - 0x2bc]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov esi, dword [0x10041178]
mov edi, dword [0x1003f068]
mov dword [ebp - 0x2d0], edi
mov eax, dword [esi + 9]
mov al, byte [eax + 4]
mov byte [ebp - 0x2c9], al
call fcn.100309d0
mov dword [edi + 0x17c4], 0xff7fffff
mov dword [edi + 0x17c8], 0xff7fffff
mov dword [edi + 0x17e0], 1
mov dword [edi + 0x17cc], 0x447a0000
mov dword [edi + 0x17d0], 0x44480000
mov dword [edi + 0x17e4], 1
mov ecx, dword [esi + 5]
mov dword [ebp - 0x2d8], eax
lea ecx, [ecx + 0x121]
call fcn.10005eb0
mov ecx, dword [0x1003f8dc]
mov esi, eax
mov eax, dword fs:[0x2c]
movaps xmm0, xmmword [str.i_lcl]
movups xmmword [ebp - 0x1a4], xmm0
mov dword [ebp - 0x174], 0x28696c76
mov edi, dword [eax + ecx*4]
movaps xmm0, xmmword [0x1003c020]
mov eax, dword [0x10112474]
movups xmmword [ebp - 0x194], xmm0
mov byte [ebp - 0x170], 0x4c
movaps xmm0, xmmword [0x1003bef0]
movups xmmword [ebp - 0x184], xmm0
mov dword [ebp - 0x2d4], edi
cmp eax, dword [edi + 4]
jle 0x10026256
push 0x10112474
call fcn.10031abc
add esp, 4
cmp dword [0x10112474], 0xffffffff
jne 0x10026256
push 0x35
lea eax, [ebp - 0x1a4]
push eax
push 0x1011253c
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x100341c0
call fcn.10031ee1
add esp, 4
push 0x10112474
call fcn.10031a72
add esp, 4
cmp byte [0x10112570], 0
je 0x1002629d
movaps xmm1, xmmword [0x1003be00]
xor eax, eax
nop dword [eax + eax]
movups xmm0, xmmword [eax + 0x1011253c]
pxor xmm0, xmm1
movups xmmword [eax + 0x1011253c], xmm0
add eax, 0x10
cmp eax, 0x30
jb 0x10026270
cmp eax, 0x35
jae 0x1002629d
nop
xor byte [eax + 0x1011253c], 0x4c
inc eax
cmp eax, 0x35
jb 0x10026290
call fcn.100309d0
push eax
push esi
lea eax, [ebp - 0xd8]
push 0x1011253c
push eax
call fcn.10004900
movaps xmm0, xmmword [0x1003bec0]
add esp, 0x10
mov eax, dword [0x101124e8]
movups xmmword [ebp - 0x190], xmm0
mov dword [ebp - 0x180], 0x6c1b0902
mov dword [ebp - 0x17c], 0x1e030f1f
mov dword [ebp - 0x178], 0xd030e09
mov word [ebp - 0x174], 0x81e
mov byte [ebp - 0x172], 0x4c
cmp eax, dword [edi + 4]
jle 0x10026347
push 0x101124e8
call fcn.10031abc
add esp, 4
cmp dword [0x101124e8], 0xffffffff
jne 0x10026347
push 0x1f
lea eax, [ebp - 0x190]
push eax
push 0x10112500
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x10034190
call fcn.10031ee1
add esp, 4
push 0x101124e8
call fcn.10031a72
add esp, 4
cmp byte [0x1011251e], 0
je 0x1002637d
movups xmm0, xmmword [0x10112500]
mov eax, 0x10
movaps xmm1, xmmword [0x1003be00]
pxor xmm1, xmm0
movups xmmword [0x10112500], xmm1
nop
xor byte [eax + 0x10112500], 0x4c
inc eax
cmp eax, 0x1f
jb 0x10026370
movss xmm3, dword [0x1003b574]
lea eax, [ebp - 0x16c]
push 0x22
push eax
mov edx, 0x1003fcf7
mov dword [ebp - 0x16c], 0
mov ecx, 0x10112500
mov dword [ebp - 0x168], 0
call fcn.1000d840
lea eax, [ebp - 0xd8]
push eax
call fcn.10010b70
mov esi, dword [0x1003f068]
lea eax, [ebp - 0x184]
add esp, 0xc
mov dword [ebp - 0x184], 3
movups xmm0, xmmword [esi + 0x1464]
push eax
lea ecx, [esi + 0x1780]
movups xmmword [ebp - 0x180], xmm0
call fcn.10018720
mov edx, dword [ebp - 0x2d0]
movups xmm0, xmmword [edx + 0x14a3]
movups xmmword [esi + 0x1464], xmm0
mov esi, dword [0x1003f068]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x1730]
movss xmm3, dword [ecx + 0x38]
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jp 0x10026426
movss xmm3, dword [ecx + 0x20]
subss xmm3, dword [ecx + 0x4c]
mov eax, ecx
subss xmm3, dword [ecx + 0x40]
subss xmm3, dword [ecx + 0x68]
mov byte [eax + 0x72], 1
mov eax, dword [esi + 0x1730]
mov ecx, eax
movss xmm2, dword [ecx + 0x34]
movss xmm4, dword [eax + 0xa8]
subss xmm4, dword [eax + 0x18]
ucomiss xmm2, xmm0
addss xmm4, dword [eax + 0x4c]
lahf
test ah, 0x44
jp 0x10026468
movss xmm2, dword [ecx + 0x1c]
movss xmm1, dword [ecx + 0x48]
subss xmm3, xmm4
mov eax, dword [0x101124d0]
subss xmm2, xmm1
xorps xmm1, xmmword [0x1003bf40]
addss xmm1, dword [ecx + 0x3c]
mov dword [ebp - 0x17c], 0x1f16180d
subss xmm3, dword [edx + 0x13c8]
subss xmm2, dword [ecx + 0x3c]
mov dword [ebp - 0x178], 0x20233e2f
mov word [ebp - 0x174], 0x4c20
movss dword [ebp - 0x168], xmm3
subss xmm2, dword [ecx + 0x64]
subss xmm2, xmm1
movss dword [ebp - 0x16c], xmm2
cmp eax, dword [edi + 4]
jle 0x1002651e
push 0x101124d0
call fcn.10031abc
add esp, 4
cmp dword [0x101124d0], 0xffffffff
jne 0x1002651e
movq xmm0, qword [ebp - 0x17c]
mov ax, word [ebp - 0x174]
push 0x10034170
movq qword [0x10112484], xmm0
mov word [0x1011248c], ax
call fcn.10031ee1
add esp, 4
push 0x101124d0
call fcn.10031a72
add esp, 4
mov al, byte [0x1011248d]
test al, al
je 0x1002656d
xor byte [0x10112484], 0x4c
xor byte [0x10112485], 0x4c
xor byte [0x10112486], 0x4c
xor byte [0x10112487], 0x4c
xor byte [0x10112488], 0x4c
xor byte [0x10112489], 0x4c
xor byte [0x1011248a], 0x4c
xor byte [0x1011248b], 0x4c
xor byte [0x1011248c], 0x4c
xor al, 0x4c
mov byte [0x1011248d], al
push 0x800
push 1
lea edx, [ebp - 0x16c]
mov ecx, 0x10112484
call fcn.1000cde0
xor edx, edx
add esp, 4
lea ecx, [edx + 4]
call fcn.10017be0
movss xmm1, dword [0x1003b528]
add esp, 4
mov ecx, 1
call fcn.10017a50
mov eax, dword [0x10112468]
mov dword [ebp - 0x17c], 0xacc8f5ac
mov dword [ebp - 0x178], 0xf4ace1f4
mov dword [ebp - 0x174], 0xf9f4acd8
mov byte [ebp - 0x2ca], 0x4c
cmp eax, dword [edi + 4]
jle 0x1002662e
push 0x10112468
call fcn.10031abc
add esp, 4
cmp dword [0x10112468], 0xffffffff
jne 0x1002662e
mov eax, dword [ebp - 0x174]
movq xmm0, qword [ebp - 0x17c]
mov dword [0x10112528], eax
mov al, byte [ebp - 0x2ca]
push 0x10034150
movq qword [0x10112520], xmm0
mov byte [0x1011252c], al
call fcn.10031ee1
add esp, 4
push 0x10112468
call fcn.10031a72
add esp, 4
cmp byte [0x1011252c], 0
je 0x1002664d
xor eax, eax
nop dword [eax]
xor byte [eax + 0x10112520], 0x4c
inc eax
cmp eax, 0xd
jb 0x10026640
push 0x10112520
call fcn.10010b70
add esp, 4
call fcn.100177b0
movaps xmm0, xmmword [0x1003bf80]
mov eax, dword [0x101124d8]
movups xmmword [ebp - 0x194], xmm0
mov word [ebp - 0x174], 0x4cd5
movaps xmm0, xmmword [0x1003c050]
movups xmmword [ebp - 0x184], xmm0
cmp eax, dword [edi + 4]
jle 0x100266d7
push 0x101124d8
call fcn.10031abc
add esp, 4
cmp dword [0x101124d8], 0xffffffff
jne 0x100266d7
push 0x22
lea eax, [ebp - 0x194]
push eax
push 0x10112494
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x10034130
call fcn.10031ee1
add esp, 4
push 0x101124d8
call fcn.10031a72
add esp, 4
cmp byte [0x101124b5], 0
je 0x1002671f
movaps xmm2, xmmword [0x1003be00]
xor eax, eax
nop dword [eax]
movups xmm0, xmmword [eax + 0x10112494]
movaps xmm1, xmm2
pxor xmm1, xmm0
movups xmmword [eax + 0x10112494], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x100266f0
cmp eax, 0x22
jae 0x1002671f
xor byte [eax + 0x10112494], 0x4c
inc eax
cmp eax, 0x22
jb 0x10026712
push 0x10112494
call fcn.10010b70
add esp, 4
call fcn.100177b0
mov eax, dword [0x101124c4]
cmp eax, dword [edi + 4]
jle 0x1002677c
push 0x101124c4
call fcn.10031abc
add esp, 4
cmp dword [0x101124c4], 0xffffffff
jne 0x1002677c
movaps xmm0, xmmword [0x1003be30]
push 0x10034120
movups xmmword [0x101124ec], xmm0
call fcn.10031ee1
add esp, 4
push 0x101124c4
call fcn.10031a72
add esp, 4
cmp byte [0x101124fb], 0
je 0x100267a0
movups xmm0, xmmword [0x101124ec]
movaps xmm1, xmmword [0x1003be00]
pxor xmm1, xmm0
movups xmmword [0x101124ec], xmm1
nop
push 0x101124ec
call fcn.10010b70
add esp, 4
call fcn.100177b0
mov eax, dword [0x101124fc]
mov dword [ebp - 0x17c], 0xacd7f4ac
mov dword [ebp - 0x178], 0xf4acf8f4
mov word [ebp - 0x174], 0x4ccb
cmp eax, dword [edi + 4]
jle 0x10026829
push 0x101124fc
call fcn.10031abc
add esp, 4
cmp dword [0x101124fc], 0xffffffff
jne 0x10026829
movq xmm0, qword [ebp - 0x17c]
mov ax, word [ebp - 0x174]
push 0x10034100
movq qword [0x101124dc], xmm0
mov word [0x101124e4], ax
call fcn.10031ee1
add esp, 4
push 0x101124fc
call fcn.10031a72
add esp, 4
mov al, byte [0x101124e5]
test al, al
je 0x10026878
xor byte [0x101124dc], 0x4c
xor byte [0x101124dd], 0x4c
xor byte [0x101124de], 0x4c
xor byte [0x101124df], 0x4c
xor byte [0x101124e0], 0x4c
xor byte [0x101124e1], 0x4c
xor byte [0x101124e2], 0x4c
xor byte [0x101124e3], 0x4c
xor byte [0x101124e4], 0x4c
xor al, 0x4c
mov byte [0x101124e5], al
push 0x101124dc
call fcn.10010b70
add esp, 4
call fcn.100177b0
call fcn.10017420
mov esi, dword [0x1003f068]
lea eax, [ebp - 0x184]
push eax
mov dword [ebp - 0x184], 0x16
movups xmm0, xmmword [esi + 0x1594]
lea ecx, [esi + 0x1780]
movups xmmword [ebp - 0x180], xmm0
call fcn.10018720
xorps xmm0, xmm0
mov word [ebp - 0x15c], 0x2869
movups xmmword [esi + 0x1594], xmm0
mov eax, dword [0x10112460]
mov byte [ebp - 0x2ca], 0x4c
cmp eax, dword [edi + 4]
jle 0x1002692e
push 0x10112460
call fcn.10031abc
add esp, 4
cmp dword [0x10112460], 0xffffffff
jne 0x1002692e
mov ax, word [ebp - 0x15c]
mov word [0x1011246c], ax
mov al, byte [ebp - 0x2ca]
push 0x100340f0
mov byte [0x1011246e], al
call fcn.10031ee1
add esp, 4
push 0x10112460
call fcn.10031a72
add esp, 4
mov al, byte [0x1011246e]
test al, al
je 0x1002694c
xor byte [0x1011246c], 0x4c
xor byte [0x1011246d], 0x4c
xor al, 0x4c
mov byte [0x1011246e], al
movzx esi, byte [ebp - 0x2c9]
lea eax, [ebp - 0x118]
push esi
push 0x1011246c
push eax
mov dword [ebp - 0x164], esi
call fcn.10004900
mov eax, dword [0x10041178]
add esp, 0xc
mov ecx, dword [eax + 9]
test ecx, ecx
je 0x100269c2
movzx eax, word [ecx + 4]
cmp esi, eax
jne 0x1002699e
cmp dword [ecx + 0x1e], 0xf
jg 0x10026993
add ecx, 0xa
mov dword [ebp - 0x160], ecx
jmp 0x100269cc
mov ecx, dword [ecx + 0xa]
mov dword [ebp - 0x160], ecx
jmp 0x100269cc
mov ecx, dword [ecx + esi*4 + 0x2e]
test ecx, ecx
je 0x100269c2
cmp dword [ecx + 0x20], 0xf
jg 0x100269b7
add ecx, 0xc
mov dword [ebp - 0x160], ecx
jmp 0x100269cc
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x160], ecx
jmp 0x100269cc
mov dword [ebp - 0x160], 0
mov eax, dword [0x101124b8]
mov word [ebp - 0x15c], 0x3f69
mov byte [ebp - 0x2c9], 0x4c
cmp eax, dword [edi + 4]
jle 0x10026a31
push 0x101124b8
call fcn.10031abc
add esp, 4
cmp dword [0x101124b8], 0xffffffff
jne 0x10026a31
mov ax, word [ebp - 0x15c]
mov word [0x10112538], ax
mov al, byte [ebp - 0x2c9]
push 0x100340e0
mov byte [0x1011253a], al
call fcn.10031ee1
add esp, 4
push 0x101124b8
call fcn.10031a72
add esp, 4
mov al, byte [0x1011253a]
test al, al
je 0x10026a4f
xor byte [0x10112538], 0x4c
xor byte [0x10112539], 0x4c
xor al, 0x4c
mov byte [0x1011253a], al
push dword [ebp - 0x160]
lea eax, [ebp - 0x158]
push 0x10112538
push eax
call fcn.10004900
add esp, 0xc
lea eax, [ebp - 0x118]
push eax
call fcn.10010b70
add esp, 4
call fcn.100177b0
push ecx
push esi
call fcn.10030a80
mov edx, eax
call fcn.100107c0
push ecx
lea edx, [ebp - 0x16c]
mov dword [ebp - 0x16c], 0
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x168], 0
call fcn.100113d0
add esp, 4
test al, al
je 0x10026ad0
mov ecx, esi
call fcn.10031250
mov dword [0x10041180], 0
mov byte [0x1003fcf7], 0
mov esi, dword [0x1003f068]
mov eax, dword [esi + 0x1780]
mov ecx, dword [esi + 0x1788]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1434], xmm0
dec dword [esi + 0x1780]
call fcn.100177b0
mov eax, dword [0x10041178]
mov edi, dword [ebp - 0x164]
mov ecx, dword [eax + 9]
test ecx, ecx
je 0x10026b3b
movzx eax, word [ecx + 4]
cmp edi, eax
jne 0x10026b28
mov ecx, dword [ecx + 0x2a]
mov dword [ebp - 0x160], ecx
jmp 0x10026b45
mov ecx, dword [ecx + edi*4 + 0x2e]
test ecx, ecx
je 0x10026b3b
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x160], ecx
jmp 0x10026b45
mov dword [ebp - 0x160], 0
mov esi, dword [ebp - 0x2d4]
mov eax, dword [0x10112578]
mov word [ebp - 0x15c], 0x2869
mov byte [ebp - 0x2c9], 0x4c
cmp eax, dword [esi + 4]
jle 0x10026bb0
push 0x10112578
call fcn.10031abc
add esp, 4
cmp dword [0x10112578], 0xffffffff
jne 0x10026bb0
mov ax, word [ebp - 0x15c]
mov word [0x101124d4], ax
mov al, byte [ebp - 0x2c9]
push 0x100340d0
mov byte [0x101124d6], al
call fcn.10031ee1
add esp, 4
push 0x10112578
call fcn.10031a72
add esp, 4
mov al, byte [0x101124d6]
test al, al
je 0x10026bce
xor byte [0x101124d4], 0x4c
xor byte [0x101124d5], 0x4c
xor al, 0x4c
mov byte [0x101124d6], al
push dword [ebp - 0x160]
push 0x101124d4
call fcn.10010b70
add esp, 8
call fcn.100177b0
mov eax, dword [0x10041178]
mov ecx, dword [eax + 9]
test ecx, ecx
je 0x10026c0c
movzx eax, word [ecx + 4]
cmp edi, eax
jne 0x10026bff
mov edi, dword [ecx + 0x26]
jmp 0x10026c0e
mov edi, dword [ecx + edi*4 + 0x2e]
test edi, edi
je 0x10026c0c
mov edi, dword [edi + 0x28]
jmp 0x10026c0e
xor edi, edi
mov eax, dword [0x1011245c]
mov word [ebp - 0x15c], 0x2869
mov byte [ebp - 0x2c9], 0x4c
cmp eax, dword [esi + 4]
jle 0x10026c73
push 0x1011245c
call fcn.10031abc
add esp, 4
cmp dword [0x1011245c], 0xffffffff
jne 0x10026c73
mov ax, word [ebp - 0x15c]
mov word [0x10112534], ax
mov al, byte [ebp - 0x2c9]
push 0x100340c0
mov byte [0x10112536], al
call fcn.10031ee1
add esp, 4
push 0x1011245c
call fcn.10031a72
add esp, 4
mov al, byte [0x10112536]
test al, al
je 0x10026c91
xor byte [0x10112534], 0x4c
xor byte [0x10112535], 0x4c
xor al, 0x4c
mov byte [0x10112536], al
push edi
push 0x10112534
call fcn.10010b70
add esp, 8
call fcn.100177b0
mov edi, dword [0x10040c64]
cmp edi, dword [ebp - 0x2d8]
jae 0x100271db
mov edx, edi
mov dword [ebp - 0x164], edi
nop
mov eax, dword [0x10041178]
mov ecx, dword [eax + 9]
movzx eax, word [ecx + 4]
cmp eax, edi
je 0x100271c7
mov eax, dword [ecx + edi*4 + 0x2e]
test eax, eax
je 0x100271c7
cmp dword [eax + 4], 1
mov byte [ebp - 0x2c9], 0x4c
jne 0x10026e32
mov eax, dword [0x10112478]
mov word [ebp - 0x15c], 0x2869
cmp eax, dword [esi + 4]
jle 0x10026d4f
push 0x10112478
call fcn.10031abc
add esp, 4
cmp dword [0x10112478], 0xffffffff
jne 0x10026d4f
mov ax, word [ebp - 0x15c]
mov word [0x10112464], ax
mov al, byte [ebp - 0x2c9]
push 0x100340b0
mov byte [0x10112466], al
call fcn.10031ee1
add esp, 4
push 0x10112478
call fcn.10031a72
add esp, 4
mov al, byte [0x10112466]
test al, al
je 0x10026d6d
xor byte [0x10112464], 0x4c
xor byte [0x10112465], 0x4c
xor al, 0x4c
mov byte [0x10112466], al
push edi
lea eax, [ebp - 0x58]
push 0x10112464
push eax
call fcn.10004900
mov eax, dword [0x101124c0]
add esp, 0xc
mov dword [ebp - 0x16c], 0x18030e17
mov dword [ebp - 0x168], 0x4c3f6911
cmp eax, dword [esi + 4]
jle 0x10026de0
push 0x101124c0
call fcn.10031abc
add esp, 4
cmp dword [0x101124c0], 0xffffffff
jne 0x10026de0
movq xmm0, qword [ebp - 0x16c]
push 0x100340a0
movq qword [0x101124c8], xmm0
call fcn.10031ee1
add esp, 4
push 0x101124c0
call fcn.10031a72
add esp, 4
mov al, byte [0x101124cf]
test al, al
je 0x10026e21
xor byte [0x101124c8], 0x4c
xor byte [0x101124c9], 0x4c
xor byte [0x101124ca], 0x4c
xor byte [0x101124cb], 0x4c
xor byte [0x101124cc], 0x4c
xor byte [0x101124cd], 0x4c
xor byte [0x101124ce], 0x4c
xor al, 0x4c
mov byte [0x101124cf], al
push edi
call fcn.10030a30
push eax
push 0x101124c8
jmp 0x10026f4f
mov eax, dword [0x10112490]
mov word [ebp - 0x1a8], 0x2869
cmp eax, dword [esi + 4]
jle 0x10026e90
push 0x10112490
call fcn.10031abc
add esp, 4
cmp dword [0x10112490], 0xffffffff
jne 0x10026e90
mov ax, word [ebp - 0x1a8]
mov word [0x10112480], ax
mov al, byte [ebp - 0x2c9]
push 0x10034090
mov byte [0x10112482], al
call fcn.10031ee1
add esp, 4
push 0x10112490
call fcn.10031a72
add esp, 4
mov al, byte [0x10112482]
test al, al
je 0x10026eae
xor byte [0x10112480], 0x4c
xor byte [0x10112481], 0x4c
xor al, 0x4c
mov byte [0x10112482], al
push edi
lea eax, [ebp - 0x58]
push 0x10112480
push eax
call fcn.10004900
mov eax, dword [0x101124bc]
add esp, 0xc
mov word [ebp - 0x1ac], 0x3f69
mov byte [ebp - 0x2c9], 0x4c
cmp eax, dword [esi + 4]
jle 0x10026f25
push 0x101124bc
call fcn.10031abc
add esp, 4
cmp dword [0x101124bc], 0xffffffff
jne 0x10026f25
mov ax, word [ebp - 0x1ac]
mov word [0x1011247c], ax
mov al, byte [ebp - 0x2c9]
push 0x10034080
mov byte [0x1011247e], al
call fcn.10031ee1
add esp, 4
push 0x101124bc
call fcn.10031a72
add esp, 4
mov al, byte [0x1011247e]
test al, al
je 0x10026f43
xor byte [0x1011247c], 0x4c
xor byte [0x1011247d], 0x4c
xor al, 0x4c
mov byte [0x1011247e], al
push edi
call fcn.10030a30
push eax
push 0x1011247c
lea eax, [ebp - 0x98]
push eax
call fcn.10004900
add esp, 0xc
lea eax, [ebp - 0x58]
push eax
call fcn.10010b70
add esp, 4
call fcn.100177b0
push ecx
push edi
call fcn.10030a80
mov edx, eax
call fcn.100107c0
push ecx
lea edx, [ebp - 0x177]
mov dword [ebp - 0x177], 0
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x173], 0
call fcn.100113d0
add esp, 4
test al, al
je 0x10026fc2
mov ecx, edi
call fcn.10031250
mov dword [0x10041180], 0
mov byte [0x1003fcf7], 0
mov esi, dword [0x1003f068]
mov eax, dword [esi + 0x1780]
mov ecx, dword [esi + 0x1788]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1434], xmm0
dec dword [esi + 0x1780]
call fcn.100177b0
mov eax, dword [0x10041178]
mov ecx, dword [eax + 9]
test ecx, ecx
je 0x10027033
cmp dword [ebp - 0x164], 0x3ec
ja 0x10027033
movzx eax, word [ecx + 4]
cmp edi, eax
jne 0x10027020
mov ecx, dword [ecx + 0x2a]
mov dword [ebp - 0x2d0], ecx
jmp 0x1002703d
mov ecx, dword [ecx + edi*4 + 0x2e]
test ecx, ecx
je 0x10027033
mov ecx, dword [ecx + 0x24]
mov dword [ebp - 0x2d0], ecx
jmp 0x1002703d
mov dword [ebp - 0x2d0], 0
mov esi, dword [ebp - 0x2d4]
mov eax, dword [0x10112574]
mov word [ebp - 0x1b0], 0x2869
mov byte [ebp - 0x2c9], 0x4c
cmp eax, dword [esi + 4]
jle 0x100270a8
push 0x10112574
call fcn.10031abc
add esp, 4
cmp dword [0x10112574], 0xffffffff
jne 0x100270a8
mov ax, word [ebp - 0x1b0]
mov word [0x1011257c], ax
mov al, byte [ebp - 0x2c9]
push 0x10034070
mov byte [0x1011257e], al
call fcn.10031ee1
add esp, 4
push 0x10112574
call fcn.10031a72
add esp, 4
mov al, byte [0x1011257e]
test al, al
je 0x100270c6
xor byte [0x1011257c], 0x4c
xor byte [0x1011257d], 0x4c
xor al, 0x4c
mov byte [0x1011257e], al
push dword [ebp - 0x2d0]
push 0x1011257c
call fcn.10010b70
add esp, 8
call fcn.100177b0
mov eax, dword [0x10041178]
mov ecx, dword [eax + 9]
test ecx, ecx
je 0x1002711c
cmp dword [ebp - 0x164], 0x3ec
ja 0x1002711c
movzx eax, word [ecx + 4]
cmp edi, eax
jne 0x10027109
mov ecx, dword [ecx + 0x26]
mov dword [ebp - 0x2d0], ecx
jmp 0x10027126
mov ecx, dword [ecx + edi*4 + 0x2e]
test ecx, ecx
je 0x1002711c
mov ecx, dword [ecx + 0x28]
mov dword [ebp - 0x2d0], ecx
jmp 0x10027126
mov dword [ebp - 0x2d0], 0
mov eax, dword [0x10112530]
mov word [ebp - 0x160], 0x2869
mov byte [ebp - 0x2c9], 0x4c
cmp eax, dword [esi + 4]
jle 0x1002718b
push 0x10112530
call fcn.10031abc
add esp, 4
cmp dword [0x10112530], 0xffffffff
jne 0x1002718b
mov ax, word [ebp - 0x160]
mov word [0x10112470], ax
mov al, byte [ebp - 0x2c9]
push 0x10034060
mov byte [0x10112472], al
call fcn.10031ee1
add esp, 4
push 0x10112530
call fcn.10031a72
add esp, 4
mov al, byte [0x10112472]
test al, al
je 0x100271a9
xor byte [0x10112470], 0x4c
xor byte [0x10112471], 0x4c
xor al, 0x4c
mov byte [0x10112472], al
push dword [ebp - 0x2d0]
push 0x10112470
call fcn.10010b70
add esp, 8
call fcn.100177b0
mov edx, dword [ebp - 0x164]
inc edi
inc edx
mov dword [ebp - 0x164], edx
cmp edi, dword [ebp - 0x2d8]
jb 0x10026cc0
mov edi, dword [0x1003f068]
push ecx
mov eax, dword [edi + 0x1780]
mov edx, dword [edi + 0x1788]
lea esi, [eax + eax*4]
mov eax, dword [edx + esi*4 - 0x14]
movups xmm0, xmmword [edx + esi*4 - 0x10]
add eax, eax
xor edx, edx
movups xmmword [edi + eax*8 + 0x1434], xmm0
dec dword [edi + 0x1780]
lea ecx, [edx + 1]
call fcn.10017be0
mov esi, dword [0x1003f068]
add esp, 4
mov eax, dword [esi + 0x1780]
mov ecx, dword [esi + 0x1788]
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
add eax, eax
movups xmmword [esi + eax*8 + 0x1434], xmm0
dec dword [esi + 0x1780]
call fcn.1000cff0
call fcn.1000fcc0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10031912
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret