Function at 0x442d50
Capabilities:
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 0x52fe50
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x268
push esi
mov esi, ecx
mov dword [ebp - 0xa0], esi
push edi
mov dword [ebp - 0x14], 0
mov dword [ebp - 4], 4
lea ecx, [esi + 8]
push 0
mov byte [esi], 0
call fcn.0048e6c0
mov byte [ebp - 4], 3
cmp dword [ebx + 0x28], 0x10
lea ecx, [ebx + 0x14]
lea edx, [ebp - 0xd4]
mov dword [ebp - 0x14], 1
cmovae ecx, dword [ebx + 0x14]
call fcn.0041ac90
test eax, eax
jne 0x443ff3
xorps xmm0, xmm0
mov byte [ebp - 0x98], 0x94
movups xmmword [ebp - 0x97], xmm0
mov dword [ebp - 0x87], eax
xor ecx, ecx
mov word [ebp - 0x83], ax
mov byte [ebp - 0x81], al
nop word [eax + eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x98], al
inc ecx
cmp ecx, 1
jb 0x442e00
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x98]
mov byte [ebp - 0x97], 0
movups xmmword [ebp - 0xf0], xmm0
mov dword [ebp - 0xe0], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xdc], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442e44
sub ecx, edx
lea eax, [ebp - 0x98]
push ecx
push eax
lea ecx, [ebp - 0xf0]
call fcn.00402c40
mov dword [ebp - 0x14], 0x21
mov byte [ebp - 4], 5
lea esi, [ebp - 0xf0]
cmp dword [ebp - 0xdc], 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x118], 0xf7fdf5fc
cmovae esi, dword [ebp - 0xf0]
xor ecx, ecx
mov dword [ebp - 0x114], 0x9c95e0f0
mov dword [ebp - 0x110], 0xf5ebfe97
mov word [ebp - 0x10c], 0x9cf6
movups xmmword [ebp - 0x10a], xmm0
mov dword [ebp - 0xfa], 0
mov word [ebp - 0xf6], 0
mov byte [ebp - 0xf4], 0
nop dword [eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x118], al
inc ecx
cmp ecx, 0xe
jb 0x442ed0
mov dword [0x565524], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x118]
mov byte [ebp - 0x10a], 0
movups xmmword [ebp - 0x98], xmm0
mov dword [ebp - 0x88], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x84], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442f14
sub ecx, edx
lea eax, [ebp - 0x118]
push ecx
push eax
lea ecx, [ebp - 0x98]
call fcn.00402c40
mov dword [ebp - 0x14], 0x61
mov byte [ebp - 4], 6
lea edx, [ebp - 0x98]
cmp dword [ebp - 0x84], 0x10
cmovae edx, dword [ebp - 0x98]
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442f54
sub ecx, edi
mov eax, 0x7fffffff
mov edi, dword [ebx + 0x3c]
sub eax, edi
cmp eax, ecx
jb 0x44409c
cmp dword [ebx + 0x40], 0x10
lea eax, [ebx + 0x2c]
push edi
cmovae eax, dword [ebx + 0x2c]
push eax
push ecx
push edx
push ecx
push dword [ebp - 0x7c]
lea ecx, [ebp - 0x1b0]
call fcn.004946d0
mov dword [ebp - 0x14], 0x161
push esi
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 7
call fcn.0048c9d0
mov dword [ebp - 0x170], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x180], xmm0
mov dword [ebp - 0x16c], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x14], 0x1e1
movups xmmword [ebp - 0x180], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x170], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x19c]
cmp ecx, 0x10
jb 0x44302f
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x443025
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a1
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0xf
mov byte [ebp - 0x1b0], 0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x84]
cmp ecx, 0x10
jb 0x443088
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44307e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a1
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xdc]
cmp ecx, 0x10
jb 0x4430c6
mov edx, dword [ebp - 0xf0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4430bc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a1
push ecx
push edx
call fcn.00504f31
add esp, 8
cmp dword [ebp - 0x16c], 0x10
lea eax, [ebp - 0x24]
mov ecx, dword [ebp - 0xd4]
lea edx, [ebp - 0x180]
cmovae edx, dword [ebp - 0x180]
push 0
push eax
push 0
push 1
push 0xffffffffffffffff
call fcn.004ea640
mov edi, dword [ebp - 0x24]
add esp, 0x14
test eax, eax
jne 0x443bb6
mov ecx, edi
call fcn.004c6eb0
cmp eax, 0x64
jne 0x443bb6
nop
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x70]
push 0
mov byte [ebp - 0x78], 0
call fcn.0048e6c0
mov ecx, edi
mov byte [ebp - 4], 0xd
call fcn.004c73d0
xor esi, esi
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x18], esi
test eax, eax
jle 0x443b8b
nop dword [eax]
mov edx, esi
mov ecx, edi
call fcn.004c7870
cmp eax, 3
jne 0x4433bd
mov edx, esi
mov ecx, edi
call fcn.004c7790
mov edx, eax
mov dword [ebp - 0xc0], 0
mov ecx, edx
mov dword [ebp - 0xbc], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0xd0], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x443180
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xd0]
call fcn.00402c40
mov byte [ebp - 4], 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0xede3e4fc
xor ecx, ecx
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0
mov word [ebp - 0x28], 0
mov byte [ebp - 0x26], 0
nop dword [eax + eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x40], al
inc ecx
cmp ecx, 4
jb 0x4431c0
mov dword [0x5655d8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x3c], 0
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x4c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x48], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4431f2
sub ecx, edx
lea eax, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0x5c]
call fcn.00402c40
or dword [ebp - 0x14], 2
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0xd0]
cmp dword [ebp - 0x48], 0x10
lea edx, [ebp - 0x5c]
push eax
cmovae edx, dword [ebp - 0x5c]
lea ecx, [ebp - 0xb8]
call fcn.00490af0
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0x10
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x130], xmm0
mov byte [ebp - 0x138], 3
call fcn.00504cb0
mov edi, eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x64]
add esp, 4
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x12c], eax
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
movups xmm0, xmmword [esi]
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov esi, dword [ebp - 0x18]
mov byte [ebp - 4], 0x11
mov eax, dword [ebx + 8]
lea ecx, [esi + esi*2]
lea eax, [eax + ecx*8]
push eax
lea ecx, [ebp - 0x78]
call fcn.0048a420
mov cl, byte [eax]
mov byte [eax], 3
mov edx, dword [eax + 0xc]
mov byte [ebp - 0x138], cl
mov ecx, dword [eax + 8]
mov dword [eax + 8], edi
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x130], ecx
lea ecx, [ebp - 0x138]
mov dword [eax + 0xc], edi
mov dword [ebp - 0x12c], edx
call fcn.0048a7b0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0x10
jb 0x443320
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x443316
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a1
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
cmp ecx, 0x10
jb 0x443373
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x443369
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a1
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0xbc]
cmp ecx, 0x10
jb 0x4436ab
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4433ab
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a1
push ecx
push edx
call fcn.00504f31
mov edi, dword [ebp - 0x24]
add esp, 8
jmp 0x443b7e
cmp eax, 1
jne 0x4436b3
test edi, edi
je 0x44341f
cmp dword [edi + 0x2c], 0
je 0x4433fa
movzx eax, word [edi + 0x30]
cmp esi, eax
jge 0x4433fa
test esi, esi
js 0x4433fa
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4433ef
push eax
call dword [0x562d18]
add esp, 4
mov eax, dword [edi + 0x2c]
lea ecx, [esi + esi*4]
lea ecx, [eax + ecx*8]
jmp 0x443424
mov eax, dword [edi]
test eax, eax
je 0x44341f
mov eax, dword [eax + 0x44]
test eax, eax
je 0x443411
push eax
call dword [0x562d18]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.004b5810
add esp, 0xc
mov ecx, 0x54a500
call fcn.004c3180
mov dword [ebp - 0x1c], eax
test edi, edi
je 0x443486
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x443466
cmp byte [esi + 0x1e], 0
jne 0x443449
mov eax, esi
cmp ecx, 0xc0a
jne 0x443461
push 0
push 7
push esi
call fcn.004b5810
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [edi]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x44346d
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [edi + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x443483
push eax
call dword [0x562d20]
add esp, 4
mov eax, dword [ebp - 0x1c]
mov edx, eax
lea ecx, [ebp - 0xd0]
call fcn.004040f0
mov esi, eax
mov byte [ebp - 4], 0x12
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0xede5fee6
xor ecx, ecx
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0
mov word [ebp - 0x28], 0
mov byte [ebp - 0x26], 0
nop word [eax + eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x40], al
inc ecx
cmp ecx, 4
jb 0x4434c0
mov dword [0x5655d8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x3c], 0
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x4c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x48], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4434f2
sub ecx, edx
lea eax, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0x5c]
call fcn.00402c40
or dword [ebp - 0x14], 4
mov byte [ebp - 4], 0x13
lea edx, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0x10
lea ecx, [ebp - 0xb8]
push esi
cmovae edx, dword [ebp - 0x5c]
call fcn.00490af0
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0x14
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x160], xmm0
mov byte [ebp - 0x168], 3
call fcn.00504cb0
mov edi, eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x64]
add esp, 4
mov dword [ebp - 0x160], edi
mov dword [ebp - 0x15c], eax
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
movups xmm0, xmmword [esi]
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov esi, dword [ebp - 0x18]
mov byte [ebp - 4], 0x15
mov eax, dword [ebx + 8]
lea ecx, [esi + esi*2]
lea eax, [eax + ecx*8]
push eax
lea ecx, [ebp - 0x78]
call fcn.0048a420
mov cl, byte [eax]
mov byte [eax], 3
mov edx, dword [eax + 0xc]
mov byte [ebp - 0x168], cl
mov ecx, dword [eax + 8]
mov dword [eax + 8], edi
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x160], ecx
lea ecx, [ebp - 0x168]
mov dword [eax + 0xc], edi
mov dword [ebp - 0x15c], edx
call fcn.0048a7b0
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0x10
jb 0x44361a
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x443610
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a1
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
cmp ecx, 0x10
jb 0x44366d
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x443663
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a1
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0xbc]
cmp ecx, 0x10
jb 0x4436ab
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4436a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a1
push ecx
push edx
call fcn.00504f31
add esp, 8
mov edi, dword [ebp - 0x24]
jmp 0x443b7e
cmp eax, 2
jne 0x443972
mov edx, esi
mov ecx, edi
call fcn.004c7690
movaps xmm1, xmm0
lea ecx, [ebp - 0xd0]
call fcn.00404230
mov esi, eax
mov byte [ebp - 4], 0x16
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0xedfdf2eb
xor ecx, ecx
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0
mov word [ebp - 0x28], 0
mov byte [ebp - 0x26], 0
nop word [eax + eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x40], al
inc ecx
cmp ecx, 4
jb 0x443700
mov dword [0x5655d8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x3c], 0
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x4c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x48], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x443732
sub ecx, edx
lea eax, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0x5c]
call fcn.00402c40
or dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0x10
lea ecx, [ebp - 0xb8]
push esi
cmovae edx, dword [ebp - 0x5c]
call fcn.00490af0
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0x18
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x120], xmm0
mov byte [ebp - 0x128], 3
call fcn.00504cb0
xorps xmm0, xmm0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x120], eax
add esp, 4
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
movups xmm0, xmmword [esi]
movups xmmword [eax], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [eax + 0x10], xmm0
mov eax, dword [ebp - 0x64]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov dword [ebp - 0x11c], eax
mov esi, dword [ebp - 0x18]
mov byte [ebp - 4], 0x19
mov eax, dword [ebx + 8]
lea ecx, [esi + esi*2]
lea eax, [eax + ecx*8]
mov dword [ebp - 0x20], eax
mov al, byte [ebp - 0x78]
test al, al
jne 0x443850
push 8
mov byte [ebp - 0x78], 1
call fcn.00504cb0
mov esi, eax
add esp, 4
lea eax, [ebp - 0x99]
mov dword [ebp - 0x194], esi
mov dword [ebp - 0x198], eax
mov byte [ebp - 4], 0x1a
push 0x38
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00504cb0
mov byte [ebp - 4], 0x19
add esp, 4
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x194], 0
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
mov esi, dword [ebp - 0x18]
jmp 0x443858
cmp al, 1
jne 0x4440ab
push dword [ebp - 0x20]
mov ecx, dword [ebp - 0x70]
call fcn.0048e890
mov edi, dword [ebp - 0x1c]
mov cl, byte [eax]
mov byte [eax], 3
mov edx, dword [eax + 0xc]
mov byte [ebp - 0x128], cl
mov ecx, dword [eax + 8]
mov dword [eax + 8], edi
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x120], ecx
lea ecx, [ebp - 0x128]
mov dword [eax + 0xc], edi
mov dword [ebp - 0x11c], edx
call fcn.0048a7b0
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0xa4]
mov edi, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x4438d8
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4438ce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a1
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
cmp ecx, 0x10
jb 0x44392b
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x443921
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a1
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0xbc]
cmp ecx, 0x10
jb 0x443b7e
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x443963
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a1
push ecx
push edx
call fcn.00504f31
add esp, 8
jmp 0x443b7e
cmp eax, 5
jne 0x443c76
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0xfefde5e1
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0
xor ecx, ecx
mov word [ebp - 0x28], 0
mov byte [ebp - 0x26], 0
nop dword [eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x40], al
inc ecx
cmp ecx, 4
jb 0x4439a0
mov dword [0x5655d8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x3c], 0
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x4c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x48], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4439d2
sub ecx, edx
lea eax, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0x5c]
call fcn.00402c40
or dword [ebp - 0x14], 0x200
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0x10
xorps xmm0, xmm0
push 0x18
cmovae eax, dword [ebp - 0x5c]
mov dword [ebp - 0x1c], eax
movq qword [ebp - 0xe0], xmm0
mov byte [ebp - 0xe8], 3
call fcn.00504cb0
mov edx, eax
add esp, 4
lea eax, [ebp - 0x9a]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], edx
mov ecx, dword [ebp - 0x1c]
xorps xmm0, xmm0
mov byte [ebp - 4], 0x1e
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
lea eax, [ecx + 1]
mov dword [edx + 0x14], 0
mov dword [ebp - 0x60], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x443a55
sub ecx, dword [ebp - 0x60]
push ecx
push dword [ebp - 0x1c]
mov ecx, edx
call fcn.00402c40
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0xe0], eax
mov byte [ebp - 4], 0x1f
lea ecx, [esi + esi*2]
mov eax, dword [ebx + 8]
lea eax, [eax + ecx*8]
mov dword [ebp - 0x60], eax
mov al, byte [ebp - 0x78]
test al, al
jne 0x443af4
push 8
mov byte [ebp - 0x78], 1
call fcn.00504cb0
mov esi, eax
add esp, 4
lea eax, [ebp - 0x9b]
mov dword [ebp - 0x184], esi
mov dword [ebp - 0x188], eax
mov byte [ebp - 4], 0x20
push 0x38
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00504cb0
mov byte [ebp - 4], 0x1f
add esp, 4
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x70], esi
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
jmp 0x443afc
cmp al, 1
jne 0x444100
push dword [ebp - 0x60]
mov ecx, dword [ebp - 0x70]
call fcn.0048e890
mov edi, dword [ebp - 0x20]
mov esi, eax
mov eax, dword [ebp - 0xdc]
mov cl, byte [esi]
mov byte [esi], 3
mov edx, dword [esi + 0xc]
mov byte [ebp - 0xe8], cl
mov ecx, dword [esi + 8]
mov dword [ebp - 0xe0], ecx
lea ecx, [ebp - 0xe8]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
mov dword [ebp - 0xdc], edx
call fcn.0048a7b0
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x443b7b
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x443b71
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a1
push ecx
push edx
call fcn.00504f31
add esp, 8
mov esi, dword [ebp - 0x18]
inc esi
mov dword [ebp - 0x18], esi
cmp esi, dword [ebp - 0x7c]
jl 0x443140
mov ecx, dword [ebp - 0xa0]
lea eax, [ebp - 0x78]
push eax
call fcn.0048a140
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xb
call fcn.0048a7b0
mov ecx, edi
call fcn.004c6eb0
cmp eax, 0x64
je 0x443110
test edi, edi
je 0x443c2e
mov esi, dword [edi]
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x443bd0
push eax
call dword [0x562d18]
add esp, 4
mov eax, dword [edi + 0x50]
mov dword [ebp - 0x20], 0
cmp eax, 0xbdf20da3
je 0x443be8
cmp eax, 0x519c2973
jne 0x443bf2
mov ecx, edi
call fcn.004c5c80
mov dword [ebp - 0x20], eax
mov ecx, edi
call fcn.004c5e90
test esi, esi
je 0x443c1d
cmp byte [esi + 0x1e], 0
jne 0x443c0c
cmp dword [ebp - 0x20], 0xc0a
jne 0x443c1d
push 0
push 7
push esi
call fcn.004b5810
add esp, 0xc
mov byte [esi + 0x1e], 0
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x443c2e
push eax
call dword [0x562d20]
add esp, 4
mov ecx, dword [ebp - 0xd4]
call fcn.0041b210
mov ecx, dword [ebp - 0x16c]
cmp ecx, 0x10
jb 0x443fed
mov edx, dword [ebp - 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x443fe3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a6
jmp 0x443fe3
cmp eax, 4
jne 0x443b7e
mov edx, esi
mov ecx, edi
call fcn.004c74b0
mov edx, dword [ebp - 0x18]
mov ecx, edi
mov esi, eax
call fcn.004c75a0
push eax
xorps xmm0, xmm0
mov dword [ebp - 0xc0], 0
push esi
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xbc], 0
movups xmmword [ebp - 0xd0], xmm0
call fcn.00402c40
mov byte [ebp - 4], 0x23
lea edx, [ebp - 0xd0]
cmp dword [ebp - 0xbc], 0x10
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0xd0]
push dword [ebp - 0xc0]
cmovae edx, eax
mov dword [ebp - 0x1c], eax
setae byte [ebp - 0x41]
call fcn.004024c0
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0x24
xorps xmm0, xmm0
mov dword [ebp - 0x154], 0xf0fefced
xor ecx, ecx
mov byte [ebp - 0x150], 0xec
movups xmmword [ebp - 0x14f], xmm0
mov dword [ebp - 0x13f], 0
mov word [ebp - 0x13b], 0
mov byte [ebp - 0x139], 0
nop
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x154], al
inc ecx
cmp ecx, 5
jb 0x443d30
mov dword [0x565544], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x154]
mov byte [ebp - 0x14f], 0
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x4c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x48], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x443d70
sub ecx, edx
lea eax, [ebp - 0x154]
push ecx
push eax
lea ecx, [ebp - 0x5c]
call fcn.00402c40
or dword [ebp - 0x14], 0x400
mov byte [ebp - 4], 0x25
lea edx, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0x10
lea ecx, [ebp - 0xb8]
push esi
cmovae edx, dword [ebp - 0x5c]
call fcn.00490af0
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0x26
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x88], xmm0
mov byte [ebp - 0x90], 3
call fcn.00504cb0
xorps xmm0, xmm0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x88], eax
add esp, 4
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
movups xmm0, xmmword [esi]
movups xmmword [eax], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [eax + 0x10], xmm0
mov eax, dword [ebp - 0x64]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov dword [ebp - 0x84], eax
mov esi, dword [ebp - 0x18]
mov byte [ebp - 4], 0x27
mov eax, dword [ebx + 8]
lea ecx, [esi + esi*2]
lea eax, [eax + ecx*8]
mov dword [ebp - 0x60], eax
mov al, byte [ebp - 0x78]
test al, al
jne 0x443e8b
push 8
mov byte [ebp - 0x78], 1
call fcn.00504cb0
mov esi, eax
add esp, 4
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 0x28
push 0x38
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00504cb0
mov byte [ebp - 4], 0x27
add esp, 4
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x64], 0
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
mov esi, dword [ebp - 0x18]
jmp 0x443e93
cmp al, 1
jne 0x444155
push dword [ebp - 0x60]
mov ecx, dword [ebp - 0x70]
call fcn.0048e890
mov edi, dword [ebp - 0x20]
mov cl, byte [eax]
mov byte [eax], 3
mov edx, dword [eax + 0xc]
mov byte [ebp - 0x90], cl
mov ecx, dword [eax + 8]
mov dword [eax + 8], edi
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x88], ecx
lea ecx, [ebp - 0x90]
mov dword [eax + 0xc], edi
mov dword [ebp - 0x84], edx
call fcn.0048a7b0
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0xa4]
mov edi, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x443f13
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x443f09
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a1
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
cmp ecx, 0x10
jb 0x443f66
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x443f5c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a1
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x443f9e
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x443f94
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a1
push ecx
push edx
call fcn.00504f31
add esp, 8
cmp byte [ebp - 0x41], 0
mov byte [ebp - 4], 0xd
je 0x443b7e
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x443fd4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4440a6
push ecx
push edx
call fcn.00504f31
add esp, 8
jmp 0x443b7e
push ecx
push edx
call fcn.00504f31
add esp, 8
mov esi, dword [ebp - 0xa0]
mov ecx, dword [ebx + 0x28]
cmp ecx, 0x10
jb 0x444027
mov edx, dword [ebx + 0x14]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44401d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4441aa
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebx + 0x40]
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0xf
mov byte [ebx + 0x14], 0
cmp ecx, 0x10
jb 0x44406d
mov edx, dword [ebx + 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x444063
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4441aa
push ecx
push edx
call fcn.00504f31
add esp, 8
lea ecx, [ebx + 8]
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0xf
mov byte [ebx + 0x2c], 0
call fcn.0048eeb0
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004024b0
call fcn.0050a1d0
call fcn.0050a1d0
lea ecx, [ebp - 0x78]
call fcn.0048e990
push eax
lea ecx, [ebp - 0x200]
call fcn.00402b70
push eax
mov edx, str.cannot_use_operator___with_a_string_argument_with
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x218]
call fcn.00490af0
add esp, 4
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x1cc]
call fcn.00408d70
add esp, 4
lea eax, [ebp - 0x1cc]
push 0x5607d0
push eax
call fcn.0050691b
lea ecx, [ebp - 0x78]
call fcn.0048e990
push eax
lea ecx, [ebp - 0x230]
call fcn.00402b70
push eax
mov edx, str.cannot_use_operator___with_a_string_argument_with
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x248]
call fcn.00490af0
add esp, 4
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x1e8]
call fcn.00408d70
add esp, 4
lea eax, [ebp - 0x1e8]
push 0x5607d0
push eax
call fcn.0050691b
lea ecx, [ebp - 0x78]
call fcn.0048e990
push eax
lea ecx, [ebp - 0x260]
call fcn.00402b70
push eax
mov edx, str.cannot_use_operator___with_a_string_argument_with
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x278]
call fcn.00490af0
add esp, 4
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x110]
call fcn.00408d70
add esp, 4
lea eax, [ebp - 0x110]
push 0x5607d0
push eax
call fcn.0050691b
call fcn.0050a1d0
int3