Function at 0x1001d890
Capabilities:
Contain obfuscated stackstrings
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004359d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xec
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
push 0x18
mov dword [ebp - 0x48], 0
call fcn.10024bba
mov edi, eax
mov dword [ebp - 0x44], edi
mov dword [ebp - 4], 0
xorps xmm0, xmm0
movups xmmword [edi], xmm0
push 0x50
movq qword [edi + 0x10], xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
call fcn.10024bba
mov dword [edi], eax
add esp, 8
mov dword [edi + 0x10], 0x40
mov dword [edi + 0x14], 0x4f
movups xmm0, xmmword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov dword [ebp - 0xb0], edi
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1004e1b8]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x1004e1c8]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x1004e1d8]
movups xmmword [eax + 0x30], xmm0
mov byte [eax + 0x40], 0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 2
lea edx, [ecx + 1]
movups xmm0, xmmword [str.aTZpOUZVZDhYTHFNRkQyY24zSVZQOEs2a3FaamgzbkQ]
mov eax, dword [0x1004e9cc]
mov dword [ebp - 0xd0], eax
mov al, byte [0x1004e9d0]
movups xmmword [ebp - 0xf8], xmm0
mov byte [ebp - 0xcc], al
movups xmm0, xmmword [0x1004e9b4]
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
movups xmmword [ebp - 0xe8], xmm0
movq xmm0, qword [0x1004e9c4]
movq qword [ebp - 0xd8], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0xac], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1001d9b4
sub ecx, edx
lea eax, [ebp - 0xf8]
push ecx
push eax
lea ecx, [ebp - 0xac]
call fcn.10003350
mov byte [ebp - 4], 4
xor esi, esi
mov ecx, dword [ebp - 0x9c]
xor edx, edx
xorps xmm0, xmm0
mov dword [ebp - 0x28], edx
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], dl
mov dword [ebp - 0x48], 1
nop dword [eax]
mov eax, ecx
dec ecx
mov dword [ebp - 0x1c], ecx
test eax, eax
je 0x1001db6a
cmp dword [ebp - 0x98], 0xf
lea eax, [ebp - 0xac]
cmova eax, dword [ebp - 0xac]
seta cl
mov byte [ebp - 0x22], cl
cmp byte [eax + edx], 0x3d
je 0x1001db6a
test cl, cl
lea eax, [ebp - 0xac]
cmovne eax, dword [ebp - 0xac]
mov al, byte [eax + edx]
mov byte [ebp - 0x21], al
movzx eax, al
push eax
call fcn.1002dd40
add esp, 4
test eax, eax
jne 0x1001da66
mov al, byte [ebp - 0x21]
cmp al, 0x2b
je 0x1001da66
cmp al, 0x2f
jne 0x1001db6a
cmp byte [ebp - 0x22], 0
lea eax, [ebp - 0xac]
mov edx, dword [ebp - 0x28]
cmovne eax, dword [ebp - 0xac]
mov al, byte [eax + edx]
inc edx
mov byte [ebp + esi - 0x4c], al
inc esi
mov dword [ebp - 0x28], edx
cmp esi, 4
je 0x1001da93
mov ecx, dword [ebp - 0x1c]
jmp 0x1001da00
mov edx, dword [edi + 0x14]
xor esi, esi
mov ecx, dword [edi + 0x10]
nop dword [eax + eax]
mov al, byte [ebp + esi - 0x4c]
cmp edx, 0xf
jbe 0x1001daae
mov edi, dword [ebp - 0x44]
mov edi, dword [edi]
test ecx, ecx
je 0x1001dac8
push ecx
movsx eax, al
push eax
push edi
call fcn.10026a50
add esp, 0xc
test eax, eax
je 0x1001dac8
sub eax, edi
jmp 0x1001dacb
or eax, 0xffffffff
mov edi, dword [ebp - 0x44]
mov byte [ebp + esi - 0x4c], al
inc esi
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
cmp esi, 4
jl 0x1001daa0
mov eax, dword [ebp - 0x4c]
mov dl, ah
shr dl, 4
mov cl, al
shl cl, 2
and dl, 3
add dl, cl
mov al, ah
mov byte [ebp - 0x20], dl
mov dl, byte [ebp - 0x4a]
mov cl, dl
shl al, 4
shr cl, 2
and cl, 0xf
shl dl, 6
add dl, byte [ebp - 0x49]
add cl, al
mov byte [ebp - 0x1f], cl
xor esi, esi
mov byte [ebp - 0x1e], dl
cmp esi, 3
jge 0x1001db5a
mov dl, byte [ebp + esi - 0x20]
mov ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
mov byte [ebp - 0x18], dl
cmp ecx, edi
jae 0x1001db44
lea eax, [ecx + 1]
cmp edi, 0xf
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x40]
cmova eax, dword [ebp - 0x40]
inc esi
mov byte [eax + ecx], dl
mov byte [eax + ecx + 1], 0
jmp 0x1001db13
push dword [ebp - 0x18]
mov byte [ebp - 0x14], 0
push dword [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x40]
call fcn.10011710
inc esi
jmp 0x1001db13
mov edi, dword [ebp - 0x44]
xor esi, esi
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
jmp 0x1001da00
test esi, esi
je 0x1001dc40
xor eax, eax
mov dword [ebp - 0x28], eax
test esi, esi
jle 0x1001dbcb
mov edx, dword [edi + 0x10]
nop
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x1c], edi
add eax, ecx
cmp dword [edi + 0x14], 0xf
mov dword [ebp - 0x14], eax
mov ecx, edi
mov al, byte [eax]
jbe 0x1001db9a
mov ecx, dword [edi]
mov dword [ebp - 0x1c], ecx
test edx, edx
je 0x1001dbb5
push edx
movsx eax, al
push eax
push ecx
call fcn.10026a50
add esp, 0xc
test eax, eax
je 0x1001dbb5
sub eax, dword [ebp - 0x1c]
jmp 0x1001dbb8
or eax, 0xffffffff
mov ecx, dword [ebp - 0x14]
mov edx, dword [edi + 0x10]
mov byte [ecx], al
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, esi
jl 0x1001db80
mov eax, dword [ebp - 0x4c]
mov dl, ah
shr dl, 4
mov cl, al
shl cl, 2
and dl, 3
add dl, cl
mov al, ah
mov cl, byte [ebp - 0x4a]
shr cl, 2
and cl, 0xf
shl al, 4
add cl, al
mov byte [ebp - 0x20], dl
mov byte [ebp - 0x1f], cl
xor edi, edi
lea eax, [esi - 1]
cmp edi, eax
jge 0x1001dc3d
mov dl, byte [ebp + edi - 0x20]
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 0x14], dl
cmp ecx, dword [ebp - 0x2c]
jae 0x1001dc27
cmp dword [ebp - 0x2c], 0xf
lea eax, [ecx + 1]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x40]
cmova eax, dword [ebp - 0x40]
inc edi
mov byte [eax + ecx], dl
mov byte [eax + ecx + 1], 0
jmp 0x1001dbf5
push dword [ebp - 0x14]
mov byte [ebp - 0x18], 0
push dword [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x40]
call fcn.10011710
inc edi
jmp 0x1001dbf5
mov edi, dword [ebp - 0x44]
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.10021ee0
mov eax, 1
and eax, 0xfffffffe
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x1001dc93
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001dc89
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e4e2
push ecx
push edx
call fcn.10024bea
add esp, 8
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x98]
cmp eax, 0xf
jbe 0x1001dce5
mov edx, dword [ebp - 0xac]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1001dcdb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e4e2
push ecx
push edx
call fcn.10024bea
add esp, 8
push 0x10
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x64], 0x6b784f42
mov dword [ebp - 0x60], 0x61527139
mov dword [ebp - 0x5c], 0x7a675549
mov dword [ebp - 0x58], 0x4d5a342c
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
call fcn.10002270
mov esi, dword [ebp - 0x7c]
lea eax, [ebp - 0x64]
push 0x10
push eax
push esi
call fcn.10026350
add esi, 0x10
add esp, 0xc
mov dword [ebp - 0x78], esi
push 0x10056bd8
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 8
push eax
mov ecx, edi
mov dword [ebp - 0x50], 8
mov dword [ebp - 0x4c], 0xe
call fcn.10021bf0
push eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 9
push eax
call fcn.10021ee0
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x1001dda0
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001dd96
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e4e7
push ecx
push edx
call fcn.10024bea
add esp, 8
sub esp, 0xc
mov dword [ebp - 0x30], 0
sub esi, dword [ebp - 0x7c]
mov edi, esp
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x18], edi
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [ebp - 0x14], esi
je 0x1001de08
cmp esi, 0x7fffffff
ja 0x1001e4ec
push esi
mov ecx, edi
call fcn.10002270
mov esi, dword [edi]
mov edi, dword [ebp - 0x14]
push edi
push dword [ebp - 0x7c]
push esi
call fcn.10026350
mov ecx, dword [ebp - 0x18]
lea eax, [esi + edi]
add esp, 0xc
mov dword [ecx + 4], eax
sub esp, 0xc
mov byte [ebp - 4], 0xc
mov esi, esp
mov dword [ebp - 0x28], esp
mov dword [ebp - 0x18], esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov eax, dword [ebp - 0x84]
sub eax, dword [ebp - 0x88]
je 0x1001de77
cmp eax, 0x7fffffff
ja 0x1001e4f1
push eax
mov ecx, esi
call fcn.10002270
mov ecx, dword [esi]
mov edi, dword [ebp - 0x84]
mov eax, edi
mov esi, dword [ebp - 0x88]
sub eax, esi
push eax
push esi
push ecx
mov dword [ebp - 0x14], ecx
call fcn.10026350
mov eax, dword [ebp - 0x18]
sub edi, esi
add esp, 0xc
add edi, dword [ebp - 0x14]
mov dword [eax + 4], edi
sub esp, 0xc
mov byte [ebp - 4], 0xd
mov esi, esp
mov dword [ebp - 0x18], esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x70]
je 0x1001ded7
cmp eax, 0x7fffffff
ja 0x1001e4f6
push eax
mov ecx, esi
call fcn.10002270
mov ecx, dword [esi]
mov edi, dword [ebp - 0x6c]
mov eax, edi
mov esi, dword [ebp - 0x70]
sub eax, esi
push eax
push esi
push ecx
mov dword [ebp - 0x14], ecx
call fcn.10026350
mov eax, dword [ebp - 0x18]
sub edi, esi
add esp, 0xc
add edi, dword [ebp - 0x14]
mov dword [eax + 4], edi
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x50]
call fcn.10001d90
mov al, byte [0x1004e750]
xorps xmm0, xmm0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], al
mov byte [ebp - 0x3f], 0
mov byte [ebp - 4], 0x10
lea esi, [ebp - 0xc8]
mov eax, dword [ebp - 0x90]
or dword [ebp - 0x48], 2
mov edi, dword [ebp - 0x94]
movups xmmword [ebp - 0xc8], xmm0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
mov dword [ebp - 0x18], eax
nop word [eax + eax]
cmp edi, eax
je 0x1001df9b
mov al, byte [edi]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov byte [ebp - 0x1c], al
cmp ecx, edx
jae 0x1001df83
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0xf
jbe 0x1001df72
mov eax, dword [esi]
add eax, ecx
mov cl, byte [ebp - 0x1c]
inc edi
mov byte [eax + 1], 0
mov byte [eax], cl
mov eax, dword [ebp - 0x18]
jmp 0x1001df50
push dword [ebp - 0x1c]
mov byte [ebp - 0x14], 0
push dword [ebp - 0x14]
push ecx
mov ecx, esi
call fcn.10011710
mov eax, dword [ebp - 0x18]
inc edi
jmp 0x1001df50
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.10022050
mov byte [ebp - 4], 0x11
mov eax, dword [eax]
cmp eax, 0x10056bd8
je 0x1001dfd4
cmp dword [eax + 0x14], 0xf
mov ecx, eax
jbe 0x1001dfc6
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, 0x10056bd8
call fcn.10008e10
lea ecx, [ebp - 0x54]
call fcn.10008d90
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0xb4]
cmp ecx, 0xf
jbe 0x1001e01a
mov edx, dword [ebp - 0xc8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001e010
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e4fb
push ecx
push edx
call fcn.10024bea
add esp, 8
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
cmp ecx, 0xf
jbe 0x1001e06d
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001e063
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e4fb
push ecx
push edx
call fcn.10024bea
add esp, 8
lea ecx, [ebp - 0x40]
call fcn.1001e510
mov esi, eax
cmp esi, 0x10056c38
je 0x1001e0fb
mov ecx, dword [0x10056c4c]
cmp ecx, 0xf
jbe 0x1001e0b8
mov eax, dword [0x10056c38]
inc ecx
cmp ecx, 0x1000
jb 0x1001e0ae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e500
mov eax, edx
push ecx
push eax
call fcn.10024bea
add esp, 8
mov dword [0x10056c48], 0
mov dword [0x10056c4c], 0xf
mov byte [0x10056c38], 0
movups xmm0, xmmword [esi]
movups xmmword [0x10056c38], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x10056c48], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x1001e12f
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001e125
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e500
push ecx
push edx
call fcn.10024bea
add esp, 8
lea ecx, [ebp - 0x40]
call fcn.10012600
mov esi, eax
cmp esi, 0x10056c08
je 0x1001e1bd
mov ecx, dword [0x10056c1c]
cmp ecx, 0xf
jbe 0x1001e17a
mov eax, dword [0x10056c08]
inc ecx
cmp ecx, 0x1000
jb 0x1001e170
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e505
mov eax, edx
push ecx
push eax
call fcn.10024bea
add esp, 8
mov dword [0x10056c18], 0
mov dword [0x10056c1c], 0xf
mov byte [0x10056c08], 0
movups xmm0, xmmword [esi]
movups xmmword [0x10056c08], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x10056c18], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x1001e1f1
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001e1e7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e505
push ecx
push edx
call fcn.10024bea
add esp, 8
lea ecx, [ebp - 0x40]
call fcn.10011e10
mov esi, eax
cmp esi, 0x10056c50
je 0x1001e27f
mov ecx, dword [0x10056c64]
cmp ecx, 0xf
jbe 0x1001e23c
mov eax, dword [0x10056c50]
inc ecx
cmp ecx, 0x1000
jb 0x1001e232
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e50a
mov eax, edx
push ecx
push eax
call fcn.10024bea
add esp, 8
mov dword [0x10056c60], 0
mov dword [0x10056c64], 0xf
mov byte [0x10056c50], 0
movups xmm0, xmmword [esi]
movups xmmword [0x10056c50], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x10056c60], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x1001e2b3
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001e2a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e50a
push ecx
push edx
call fcn.10024bea
add esp, 8
cmp dword [0x10056bec], 0xf
mov eax, 0x10056bd8
push 0
cmova eax, dword [0x10056bd8]
mov ecx, 0x10056bd8
mov dword [0x10056be8], 0
push 0x1004e0a4
mov byte [eax], 0
call fcn.10008e10
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x1001e33c
mov edx, dword [ebp - 0x8c]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x1001e314
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e4e2
push edx
push ecx
call fcn.10024bea
add esp, 8
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov ecx, dword [ebp - 0x70]
test ecx, ecx
je 0x1001e385
mov edx, dword [ebp - 0x68]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x1001e366
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e4e2
push edx
push ecx
call fcn.10024bea
add esp, 8
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov edx, dword [ebp - 0x7c]
test edx, edx
je 0x1001e3b9
mov ecx, dword [ebp - 0x74]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x1001e3af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e4e2
push ecx
push edx
call fcn.10024bea
add esp, 8
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x1001e40b
mov edx, dword [ebp - 0x80]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x1001e3e6
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e4e2
push edx
push ecx
call fcn.10024bea
add esp, 8
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x1001e461
mov ecx, dword [edi + 0x14]
cmp ecx, 0xf
jbe 0x1001e445
mov eax, dword [edi]
inc ecx
cmp ecx, 0x1000
jb 0x1001e43b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e4e2
mov eax, edx
push ecx
push eax
call fcn.10024bea
add esp, 8
push 0x18
push edi
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
call fcn.10024bea
add esp, 8
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1002b8d6
call fcn.1002b8d6
call fcn.10002260
call fcn.10002260
call fcn.10002260
call fcn.1002b8d6
call fcn.1002b8d6
call fcn.1002b8d6
call fcn.1002b8d6
int3