Function at 0x10111100
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x78
mov dword [esp + 0x2c], edx
mov edx, dword [ecx + 0xc]
cmp edx, 0xffffffff
je 0x10111c81
mov ebp, dword [ecx + 4]
mov edi, ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x30], edi
lea ecx, [ebp + 1]
mov dword [esp + 0x44], ebp
mov eax, ecx
mov esi, ecx
shr eax, 3
and esi, 0xfffffff8
sub esi, eax
cmp ebp, 8
cmovb esi, ebp
mov eax, esi
shr eax, 1
cmp edx, eax
jae 0x101111b5
mov edx, ecx
mov ebx, dword [edi]
xor eax, eax
mov dword [esp + 0x64], esi
mov esi, ecx
shr edx, 4
test cl, 0xf
setne al
add eax, edx
je 0x10111186
movdqa xmm0, xmmword [0x10119420]
mov ecx, ebx
nop dword [eax + eax]
pxor xmm1, xmm1
dec eax
pcmpgtb xmm1, xmmword [ecx]
por xmm1, xmm0
movdqa xmmword [ecx], xmm1
lea ecx, [ecx + 0x10]
jne 0x10111170
mov edx, esi
cmp esi, 0x10
jae 0x101111df
lea eax, [ebx + 0x10]
push edx
push ebx
push eax
mov esi, edx
call fcn.10100490
add esp, 0xc
test esi, esi
jne 0x101111f3
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x30]
sub ecx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
jmp 0x10111c79
lea eax, [edx + 1]
inc esi
mov dword [esp + 0x24], ecx
cmp eax, esi
cmova esi, eax
cmp esi, 8
jae 0x101119d1
xor eax, eax
cmp esi, 4
setae al
lea esi, [eax*4 + 4]
jmp 0x10111a00
movq xmm0, qword [ebx]
movq xmm1, qword [ebx + 8]
movq qword [ebx + edx + 8], xmm1
movq qword [ebx + edx], xmm0
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
movdqa xmm0, xmmword [0x10119670]
mov dword [esp + 0x70], ebx
mov ecx, eax
xor eax, 0x6e657261
xor ecx, 0x70736575
mov dword [esp + 0x2c], eax
mov dword [esp + 0x54], ecx
mov ecx, esi
xor esi, 0x6c796765
xor ecx, 0x736f6d65
mov dword [esp + 0x58], esi
mov dword [esp + 0x50], ecx
mov ecx, edx
xor edx, 0x79746573
xor ecx, 0x6e646f6d
mov dword [esp + 0x5c], edx
xor edx, edx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x94]
mov edi, ecx
xor ecx, 0x74656462
xor edi, 0x646f7261
mov dword [esp + 0x60], ecx
mov dword [esp + 0x48], edi
jmp 0x1011129e
mov edx, dword [esp + 0x40]
shr eax, 0x19
lea ecx, [edx - 0x10]
mov byte [ebx + edx], al
and ecx, ebp
mov byte [ebx + ecx + 0x10], al
cmp edx, ebp
lea edx, [edx + 1]
je 0x101111a1
cmp byte [ebx + edx], 0x80
jne 0x10111293
lea eax, [edx*4]
mov ecx, ebx
mov dword [esp + 0x40], edx
lea eax, [eax + eax*2]
sub ecx, eax
neg eax
lea eax, [ebx + eax - 0xc]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], eax
mov eax, edx
neg eax
lea eax, [eax + eax*2]
lea eax, [ebx + eax*4]
mov dword [esp + 0x74], eax
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x24], 0
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp], edx
mov edx, dword [esp + 0x2c]
mov ebp, dword [eax - 8]
mov edi, dword [eax - 0xc]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x58]
mov ebx, ebp
add edi, 8
and ebx, 0xfffffff8
mov dword [esp + 0x38], edi
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ecx
je 0x1011146b
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov ebp, dword [esp + 0x50]
mov dword [esp], 0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
mov eax, edi
nop dword [eax + eax]
mov edi, dword [esp]
mov dword [esp + 0x1c], esi
mov esi, eax
mov eax, dword [eax + edi + 4]
mov dword [esp + 0x24], eax
xor edx, eax
mov eax, dword [esi + edi]
mov esi, dword [esp + 0x1c]
xor ecx, eax
add dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
adc ebp, esi
add eax, ecx
mov dword [esp + 4], ebp
mov ebp, ebx
mov ebx, dword [esp + 8]
mov edi, ebp
adc ebx, edx
shld edi, esi, 0xd
shld esi, ebp, 0xd
mov ebp, ecx
shrd ecx, edx, 0x10
shld ebp, edx, 0x10
mov edx, dword [esp + 0x14]
xor esi, dword [esp + 4]
xor ecx, ebx
xor ebp, eax
xor edi, edx
add eax, edi
adc ebx, esi
mov dword [esp + 8], eax
mov eax, edx
mov edx, edi
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 4]
add ebx, ebp
adc eax, ecx
shld edx, esi, 0x11
shld esi, edi, 0x11
mov edi, ebp
shrd ebp, ecx, 0xb
shld edi, ecx, 0x15
mov dword [esp + 0x28], edx
mov edx, ebp
mov ebp, eax
xor esi, dword [esp + 0xc]
mov ecx, edi
mov edi, dword [esp]
xor edx, eax
mov eax, ebx
xor ebp, dword [esp + 0x24]
xor ecx, ebx
mov ebx, dword [esp + 0x28]
xor eax, dword [esp + 0x10]
add edi, 8
mov dword [esp + 0x14], eax
xor ebx, dword [esp + 8]
mov eax, dword [esp + 0x38]
cmp edi, dword [esp + 0x20]
mov dword [esp], edi
jb 0x10111380
mov dword [esp], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x18]
mov edi, eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x34], ecx
dec edx
and edx, 0xfffffff8
add edx, 8
mov dword [esp + 0x24], edx
mov edx, dword [esp + 8]
mov ecx, ebp
mov dword [esp + 8], edx
and ecx, 7
cmp ecx, 4
mov dword [esp + 0x20], ecx
jb 0x101114a0
mov ecx, dword [esp + 0x24]
mov ebx, 4
mov dword [esp + 0x18], 0
mov ecx, dword [edi + ecx]
mov dword [esp + 0x10], ecx
jmp 0x101114b2
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
xor ebx, ebx
mov edx, dword [esp + 0x20]
mov ecx, ebx
mov dword [esp + 0x1c], esi
or ecx, 1
cmp ecx, edx
jae 0x10111520
mov edx, dword [esp + 0x24]
lea ecx, [edi + ebx]
xor edi, edi
movzx esi, word [edx + ecx]
lea ecx, [ebx*8]
mov edx, 0
shld edi, esi, cl
shl esi, cl
test cl, 0x20
mov ecx, dword [esp + 0x20]
cmovne edi, esi
cmovne esi, edx
mov edx, dword [esp + 0x10]
or ebx, 2
or dword [esp + 0x18], edi
or edx, esi
cmp ebx, ecx
jb 0x1011152a
mov edi, dword [esp]
inc ebp
test ecx, ecx
je 0x1011166f
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x18]
mov dword [esp], edi
jmp 0x10111565
mov ecx, edx
mov edx, dword [esp + 0x10]
cmp ebx, ecx
jae 0x101114ff
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
xor edi, edi
mov eax, 0
add esi, ebx
shl ebx, 3
movzx esi, byte [ecx + esi]
mov ecx, ebx
shld edi, esi, cl
shl esi, cl
test bl, 0x20
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
cmovne edi, esi
cmovne esi, eax
inc ebp
or edx, esi
mov dword [esp + 0x10], edx
or ebx, edi
mov edx, ebx
mov ebx, ecx
lea ecx, [ecx*8]
xor edi, edi
mov esi, 0xff
mov eax, 0xff
shld edi, esi, cl
shl eax, cl
test cl, 0x20
mov esi, 0
mov ecx, edi
cmovne ecx, eax
cmovne eax, esi
or eax, dword [esp + 0x10]
or ecx, edx
cmp ebx, 7
jne 0x10111660
mov edi, dword [esp]
mov ebx, dword [esp + 0x34]
mov dword [esp], ecx
mov dword [esp + 0x18], ebp
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x10], eax
xor edi, ecx
mov ecx, dword [esp + 0x28]
xor ebx, eax
add dword [esp + 0x14], ecx
mov eax, ecx
adc ebp, esi
add edx, ebx
adc dword [esp + 8], edi
shld eax, esi, 0xd
shld esi, ecx, 0xd
mov ecx, ebx
shrd ebx, edi, 0x10
shld ecx, edi, 0x10
mov edi, dword [esp + 8]
xor eax, dword [esp + 0x14]
xor esi, ebp
xor ecx, edx
xor ebx, edi
add edx, eax
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x14]
adc edi, esi
add ebp, ecx
mov dword [esp + 8], edi
mov edi, eax
adc edx, ebx
shrd eax, esi, 0xf
shld edi, esi, 0x11
mov esi, eax
mov eax, ecx
shrd ecx, ebx, 0xb
shld eax, ebx, 0x15
mov ebx, dword [esp + 8]
xor ecx, edx
xor edx, dword [esp]
xor eax, ebp
xor ebp, dword [esp + 0x10]
xor esi, ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x1c]
mov ebx, esi
xor edi, ebp
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x28], edi
mov edi, ecx
mov ecx, dword [esp + 4]
mov dword [esp + 4], edx
xor edx, edx
mov dword [esp + 0x14], ecx
mov ecx, eax
xor eax, eax
jmp 0x10111680
mov edx, ecx
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp]
jmp 0x10111680
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
xor edx, edx
mov eax, 0xff
nop
shl ebp, 0x18
mov dword [esp + 0x10], eax
xor ecx, eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
or ebp, edx
mov edx, dword [esp + 4]
movd xmm4, dword [esp + 0x10]
xor edi, ebp
mov dword [esp + 0x18], ebp
mov ebp, ecx
mov dword [esp], edi
movd xmm3, dword [esp + 0x18]
add esi, eax
adc edx, ebx
add dword [esp + 0xc], ecx
mov dword [esp + 4], edx
punpckldq xmm4, xmm3
adc dword [esp + 8], edi
mov edi, eax
shld edi, ebx, 0xd
shld ebx, eax, 0xd
mov eax, dword [esp]
xor ebx, edx
mov edx, dword [esp + 8]
xor edi, esi
shrd ecx, eax, 0x10
shld ebp, eax, 0x10
mov eax, dword [esp + 0xc]
xor ecx, edx
xor ebp, eax
add eax, edi
adc edx, ebx
add dword [esp + 4], ebp
mov dword [esp + 0xc], eax
mov eax, edi
movd xmm6, dword [esp + 4]
movd xmm3, edx
adc esi, ecx
shld eax, ebx, 0x11
shrd edi, ebx, 0xf
mov ebx, dword [esp + 0x70]
mov dword [esp], eax
mov eax, ebp
shrd ebp, ecx, 0xb
movd xmm5, esi
shld eax, ecx, 0x15
movd xmm1, ebp
punpckldq xmm6, xmm5
mov ebp, dword [esp + 0x44]
movd xmm2, eax
punpckldq xmm2, xmm1
pshufd xmm1, xmm6, 0x44
movd xmm6, edi
punpcklqdq xmm4, xmm2
movd xmm2, dword [esp]
pxor xmm1, xmm4
movd xmm4, dword [esp + 0xc]
punpckldq xmm2, xmm6
movdqa xmm5, xmm4
punpckldq xmm5, xmm3
punpckldq xmm3, xmm4
punpcklqdq xmm5, xmm0
punpcklqdq xmm2, xmm3
pxor xmm2, xmm5
movdqa xmm5, xmm1
movdqa xmm3, xmm2
movdqa xmm4, xmm2
psrlq xmm5, 0x30
psllq xmm2, 0xd
paddq xmm3, xmm1
psllq xmm1, 0x10
psrlq xmm4, 0x33
movsd xmm1, xmm2
movsd xmm5, xmm4
pshufd xmm2, xmm3, 0x1e
orpd xmm1, xmm5
xorpd xmm1, xmm3
movapd xmm3, xmm1
movapd xmm4, xmm1
paddq xmm2, xmm1
psrlq xmm3, 0x2f
psrlq xmm4, 0x2b
movsd xmm4, xmm3
movdqa xmm3, xmm1
psllq xmm1, 0x15
psllq xmm3, 0x11
movsd xmm1, xmm3
orpd xmm1, xmm4
xorpd xmm1, xmm2
pshufd xmm2, xmm2, 0x1e
movapd xmm3, xmm1
movapd xmm4, xmm1
paddq xmm2, xmm1
psrlq xmm3, 0x33
psrlq xmm4, 0x30
movsd xmm4, xmm3
movdqa xmm3, xmm1
psllq xmm1, 0x10
psllq xmm3, 0xd
movsd xmm1, xmm3
orpd xmm1, xmm4
xorpd xmm1, xmm2
pshufd xmm2, xmm2, 0x1e
movapd xmm3, xmm1
movapd xmm4, xmm1
paddq xmm2, xmm1
psrlq xmm3, 0x2f
psrlq xmm4, 0x2b
movsd xmm4, xmm3
movdqa xmm3, xmm1
psllq xmm1, 0x15
psllq xmm3, 0x11
movsd xmm1, xmm3
orpd xmm1, xmm4
xorpd xmm1, xmm2
pshufd xmm2, xmm2, 0x1e
movapd xmm3, xmm1
movapd xmm4, xmm1
paddq xmm2, xmm1
psrlq xmm3, 0x33
psrlq xmm4, 0x30
movsd xmm4, xmm3
movdqa xmm3, xmm1
psllq xmm1, 0x10
psllq xmm3, 0xd
movsd xmm1, xmm3
orpd xmm1, xmm4
xorpd xmm1, xmm2
movapd xmm3, xmm1
movapd xmm4, xmm1
pshufd xmm5, xmm1, 0x44
psrlq xmm3, 0x2f
psrlq xmm4, 0x2b
paddq xmm5, xmm2
movsd xmm4, xmm3
movdqa xmm3, xmm1
psllq xmm1, 0x15
psllq xmm3, 0x11
movsd xmm1, xmm3
orpd xmm1, xmm4
pshufd xmm3, xmm1, 0xee
pxor xmm3, xmm1
pshufd xmm1, xmm5, 0xee
movd eax, xmm1
pshufd xmm1, xmm5, 0xff
movd ecx, xmm1
xor ecx, eax
movd eax, xmm3
xor eax, ecx
mov ecx, ebp
and ecx, eax
movdqu xmm1, xmmword [ebx + ecx]
mov esi, ecx
pmovmskb edx, xmm1
test edx, edx
jne 0x10111914
mov edi, 0x10
mov esi, ecx
nop word cs:[eax + eax]
nop
add esi, edi
add edi, 0x10
and esi, ebp
movdqu xmm1, xmmword [ebx + esi]
pmovmskb edx, xmm1
test edx, edx
je 0x10111900
tzcnt edx, edx
add edx, esi
and edx, ebp
cmp byte [ebx + edx], 0
js 0x1011192e
movdqa xmm1, xmmword [ebx]
pmovmskb edx, xmm1
tzcnt edx, edx
mov esi, dword [esp + 0x40]
mov edi, edx
sub edi, ecx
sub esi, ecx
xor edi, esi
and edi, ebp
cmp edi, 0x10
jb 0x10111280
mov edi, ebx
movzx ebx, byte [ebx + edx]
lea ecx, [edx*4]
lea esi, [edx - 0x10]
shr eax, 0x19
and esi, ebp
lea ecx, [ecx + ecx*2]
mov byte [edi + edx], al
mov byte [edi + esi + 0x10], al
cmp bl, 0xff
je 0x101119a0
mov esi, dword [esp + 0x6c]
mov eax, edi
sub eax, ecx
mov edx, dword [eax - 0xc]
mov ecx, dword [esi - 0xc]
mov dword [esi - 0xc], edx
mov dword [eax - 0xc], ecx
mov ecx, dword [esi - 8]
mov edx, dword [eax - 8]
mov dword [esi - 8], edx
mov dword [eax - 8], ecx
mov ecx, dword [esi - 4]
mov edx, dword [eax - 4]
mov dword [esi - 4], edx
mov dword [eax - 4], ecx
jmp 0x101112e0
mov edx, dword [esp + 0x40]
neg ecx
mov esi, dword [esp + 0x68]
mov ebx, edi
lea eax, [edi + ecx - 0xc]
lea ecx, [edx - 0x10]
mov byte [edi + edx], 0xff
and ecx, ebp
mov byte [edi + ecx + 0x10], 0xff
mov ecx, dword [esi + 8]
mov dword [eax + 8], ecx
movq xmm1, qword [esi]
movq qword [eax], xmm1
jmp 0x10111293
cmp esi, 0x1fffffff
ja 0x10111c81
shl esi, 3
mov ecx, 0x24924925
mov eax, esi
mul ecx
sub esi, edx
shr esi, 1
add esi, edx
shr esi, 2
dec esi
bsr ecx, esi
mov esi, 0xffffffff
not ecx
shr esi, cl
inc esi
mov ecx, 0xc
mov eax, esi
mul ecx
jo 0x10111c81
cmp eax, 0xfffffff0
ja 0x10111c81
add eax, 0xf
lea ecx, [esi + 0x10]
and eax, 0xfffffff0
mov edi, eax
add edi, ecx
jb 0x10111c81
cmp edi, 0x7ffffff1
jae 0x10111c81
mov dword [esp + 4], ecx
mov dword [esp + 0xc], eax
lea edx, [edi + 0x10]
xor ecx, ecx
movzx eax, byte [0x10199148]
call fcn.100ea7d0
test eax, eax
je 0x10111c86
mov edx, esi
mov ebx, esi
mov ecx, eax
and eax, 0xfffffff0
lea edi, [esi - 1]
shr edx, 3
and ebx, 0xfffffff8
mov dword [eax + 0xc], ecx
mov dword [esp + 8], eax
sub ebx, edx
cmp esi, 9
mov esi, dword [esp + 0xc]
cmovb ebx, edi
lea eax, [eax + esi + 0x10]
push dword [esp + 4]
push 0xff
mov dword [esp + 8], eax
push eax
call fcn.10100a10
add esp, 0xc
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x10111c35
mov eax, dword [esp + 8]
mov dword [esp + 4], edi
mov dword [esp + 0x38], ebx
xor ebx, ebx
lea eax, [eax + esi + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov edi, dword [eax]
movdqa xmm0, xmmword [edi]
lea eax, [edi - 0xc]
mov dword [esp + 0x20], edi
mov dword [esp + 0xc], eax
pmovmskb edx, xmm0
not edx
jmp 0x10111b3f
lea ecx, [edx - 0x10]
mov eax, dword [esp + 8]
and ecx, dword [esp + 4]
shr eax, 0x19
mov esi, ecx
mov ecx, dword [esp]
mov byte [ecx + edx], al
mov ecx, dword [esp]
shl edx, 2
mov byte [ecx + esi + 0x10], al
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0xc]
lea eax, [ecx - 1]
and eax, ecx
mov ecx, dword [esp + 0x28]
shl ecx, 2
lea ecx, [ecx + ecx*2]
sub esi, ecx
lea ecx, [edx + edx*2]
mov edx, dword [esp + 0x10]
sub edx, ecx
mov ecx, dword [esi + 8]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x14]
movq xmm0, qword [esi]
dec ecx
movq qword [edx], xmm0
test ecx, ecx
mov edx, eax
je 0x10111c23
test dx, dx
mov dword [esp + 0x14], ecx
jne 0x10111b69
nop dword [eax + eax]
movdqa xmm0, xmmword [edi + 0x10]
add edi, 0x10
add ebx, 0x10
pmovmskb edx, xmm0
cmp edx, 0xffff
je 0x10111b50
not edx
tzcnt eax, edx
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0xc]
add eax, ebx
mov dword [esp + 0x28], eax
neg eax
lea eax, [eax + eax*2]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
push dword [esi + eax*4 + 4]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
push dword [esi + eax*4]
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.10056a20
add esp, 0x10
mov ecx, dword [esp + 4]
mov dword [esp + 8], eax
and ecx, eax
mov eax, dword [esp]
movdqu xmm0, xmmword [eax + ecx]
pmovmskb edx, xmm0
test edx, edx
jne 0x10111bfe
mov eax, dword [esp + 4]
mov ebp, 0x10
nop dword [eax + eax]
mov edx, dword [esp]
add ecx, ebp
add ebp, 0x10
and ecx, eax
movdqu xmm0, xmmword [edx + ecx]
pmovmskb edx, xmm0
test edx, edx
je 0x10111be0
mov ebp, dword [esp + 0x44]
mov eax, dword [esp]
tzcnt edx, edx
add edx, ecx
and edx, dword [esp + 4]
cmp byte [eax + edx], 0
js 0x10111ae0
movdqa xmm0, xmmword [eax]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x10111ae0
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
jmp 0x10111c3b
mov eax, dword [esp + 0x30]
mov esi, dword [eax]
sub ebx, dword [esp + 0x3c]
mov ecx, dword [esp]
test ebp, ebp
mov dword [eax], ecx
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
je 0x10111c79
mov eax, dword [esp + 0x24]
mov ecx, 0xc
mul ecx
add eax, 0xf
and eax, 0xfffffff0
add ebp, eax
cmp ebp, 0xffffffef
je 0x10111c79
sub esi, eax
push dword [esi - 4]
push 0
push dword [0x101990e0]
call dword [sym.imp.kernel32.dll_HeapFree]
add esp, 0x78
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.1000d710
mov ecx, edi
call fcn.1000d750
int3