Function at 0x42ed00
Capabilities:
Authenticate hmac
Encode data using xor
Get common file path
Get startup folder
Inspect section memory permissions
Parse pe header

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 0x521523
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x570
push esi
mov esi, ecx
mov byte [ebp - 0x15], dl
mov dword [ebp - 0x19c], esi
push edi
mov dword [ebp - 0x14], 1
mov dword [ebp - 4], 0
push ecx
call fcn.0047d990
mov byte [ebp - 4], 3
sub esp, 0x10
movaps xmm0, xmmword [0x543320]
mov ecx, esp
mov dword [ebp - 0x1c], esp
mov edi, 1
sub esp, 8
mov dword [ebp - 0x14], edi
mov eax, esp
movups xmmword [ebp - 0x110], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.0047d960
add esp, 8
mov dword [ebp - 4], 4
xor ecx, ecx
nop dword [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x110], al
inc ecx
cmp ecx, 7
jb 0x42eda0
lea eax, [ebp - 0x110]
mov dword [0x558510], ecx
push eax
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0x109], 0
call fcn.00402a50
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xe4]
call fcn.00402af0
push eax
mov ecx, esi
call fcn.00483b70
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.0047d5e0
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 3
call fcn.004029b0
push 0x104
lea eax, [ebp - 0x580]
push 0
push eax
call fcn.004f9bf0
add esp, 0xc
lea eax, [ebp - 0x580]
push eax
movzx eax, byte [ebp - 0x15]
xor eax, 1
push 0
push 0
lea eax, [eax*2 + 0x1a]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea eax, [ebx + 0x10]
push eax
lea edx, [ebp - 0x580]
lea ecx, [ebp - 0x2c0]
call fcn.00483960
add esp, 4
mov dword [ebp - 4], 7
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
cmp byte [ebx + 8], 0
mov byte [ebp - 4], 8
jne 0x42f16f
sub esp, 0x18
lea eax, [ebp - 0x2c0]
mov ecx, esp
push eax
call fcn.0047faa0
push 0
mov dl, 1
lea ecx, [ebp - 0xf0]
call fcn.004259f0
add esp, 0x1c
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 9
call fcn.0047e760
test eax, eax
jne 0x42ef02
call fcn.00481d80
lea ecx, [ebp - 0xb4]
call fcn.00481d80
lea ecx, [ebp - 0x2c0]
call fcn.004029b0
lea ecx, [ebx + 0x10]
call fcn.004029b0
lea ecx, [ebx + 0x28]
call fcn.004029b0
lea ecx, [ebx + 0x40]
call fcn.004029b0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
xor esi, esi
mov dword [ebp - 0x68], esi
call fcn.0047e760
test eax, eax
je 0x42f15e
cmp byte [ebx + 0xc], 0
je 0x42ef7a
movaps xmm0, xmmword [0x543c20]
xor ecx, ecx
mov byte [ebp - 0xa8], 0xb7
movups xmmword [ebp - 0xa7], xmm0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0xa8], al
inc ecx
cmp ecx, 8
jb 0x42ef31
lea eax, [ebp - 0xa8]
mov dword [0x5585d4], ecx
push eax
lea ecx, [ebp - 0x378]
mov byte [ebp - 0xa0], 0
call fcn.00402a50
or edi, 2
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x378]
mov dword [ebp - 0x14], edi
call fcn.00402af0
mov edi, eax
jmp 0x42ef7f
mov edi, 0x5363dc
push esi
lea ecx, [ebp - 0xf0]
call fcn.0047e740
xorps xmm0, xmm0
mov dword [ebp - 0x8c], eax
mov byte [ebp - 0x62], 0xb7
xor ecx, ecx
movq qword [ebp - 0x61], xmm0
mov byte [ebp - 0x59], 0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x62], al
inc ecx
cmp ecx, 1
jb 0x42efa3
lea eax, [ebp - 0x62]
mov dword [0x5585d0], ecx
push eax
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0x61], 0
call fcn.00402a50
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0xb
call fcn.00402af0
push eax
lea edx, [ebp - 0x2c0]
lea ecx, [ebp - 0x250]
call fcn.004838a0
add esp, 4
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2f0]
push dword [ebp - 0x8c]
mov edx, eax
call fcn.00483ac0
sub esp, 0x14
mov byte [ebp - 4], 0xd
mov ecx, esp
mov edx, eax
push edi
call fcn.00483900
add esp, 4
lea ecx, [ebp - 0xfc]
xor dl, dl
push 0
call fcn.004259f0
add esp, 0x1c
lea ecx, [ebp - 0x2f0]
call fcn.004029b0
lea ecx, [ebp - 0x250]
call fcn.004029b0
lea ecx, [ebp - 0xe4]
call fcn.004029b0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x14]
test al, 2
je 0x42f06b
and eax, 0xfffffffd
lea ecx, [ebp - 0x378]
mov dword [ebp - 0x14], eax
call fcn.004029b0
lea ecx, [ebp - 0xfc]
call fcn.0047e760
test eax, eax
je 0x42f135
xor edi, edi
mov dword [ebp - 0x58], edi
call fcn.0047e760
test eax, eax
je 0x42f135
push edi
lea ecx, [ebp - 0xfc]
call fcn.0047e740
push 0
lea ecx, [ebx + 0x28]
push ecx
mov ecx, eax
call fcn.0047f5e0
cmp eax, 0xffffffff
je 0x42f11e
lea ecx, [ebp - 0xb4]
xor edi, edi
call fcn.0047e760
mov dword [ebp - 0x8c], eax
test eax, eax
je 0x42f103
nop dword [eax]
push esi
lea ecx, [ebp - 0xf0]
call fcn.0047e740
push edi
lea ecx, [ebp - 0xb4]
mov esi, eax
call fcn.0047e740
mov edx, esi
mov ecx, eax
call fcn.00483b40
mov esi, dword [ebp - 0x68]
test al, al
jne 0x42f11b
inc edi
cmp edi, dword [ebp - 0x8c]
jb 0x42f0d0
push esi
lea ecx, [ebp - 0xf0]
call fcn.0047e740
push eax
lea ecx, [ebp - 0xb4]
call fcn.0047e820
mov edi, dword [ebp - 0x58]
inc edi
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x58], edi
call fcn.0047e760
cmp edi, eax
jb 0x42f090
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 9
call fcn.00481d80
inc esi
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x68], esi
call fcn.0047e760
mov edi, dword [ebp - 0x14]
cmp esi, eax
jb 0x42ef14
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 8
call fcn.00481d80
jmp 0x42f1a4
push 0x5363dc
lea ecx, [ebp - 0xe4]
call fcn.00402a50
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0xb4]
call fcn.0047e7c0
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 8
call fcn.004029b0
lea ecx, [ebp - 0xb4]
call fcn.0047e760
test eax, eax
jne 0x42f1e8
push 0x5363dc
lea ecx, [ebp - 0xe4]
call fcn.00402a50
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0xb4]
call fcn.0047e7c0
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 8
call fcn.004029b0
xorps xmm0, xmm0
mov byte [ebp - 0x62], 0xb7
movq qword [ebp - 0x61], xmm0
xor ecx, ecx
mov byte [ebp - 0x59], 0
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x62], al
inc ecx
cmp ecx, 1
jb 0x42f200
lea eax, [ebp - 0x62]
mov dword [0x5585d0], ecx
push eax
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0x61], 0
call fcn.00402a50
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0x15
call fcn.00402af0
push eax
lea edx, [ebp - 0x2c0]
lea ecx, [ebp - 0x2f0]
call fcn.004838a0
sub esp, 0x14
mov byte [ebp - 4], 0x16
lea edx, [ebx + 0x40]
mov ecx, esp
push edx
mov edx, eax
call fcn.00483ac0
add esp, 4
call fcn.0040c4c0
add esp, 0x18
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0x2f0]
call fcn.004029b0
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 8
call fcn.004029b0
cmp byte [ebp - 0x15], 0
jne 0x42f38e
movaps xmm0, xmmword [0x545540]
xor ecx, ecx
movups xmmword [ebp - 0x200], xmm0
mov byte [ebp - 0x1e8], 0
xorps xmm0, xmm0
movq qword [ebp - 0x1f0], xmm0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x200], al
inc ecx
cmp ecx, 0x10
jb 0x42f2b0
lea eax, [ebp - 0x200]
mov dword [0x5585d8], ecx
push eax
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0x1f0], 0
call fcn.00402a50
sub esp, 0x18
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xe4]
mov esi, esp
call fcn.00402af0
push eax
lea edx, [ebp - 0x2c0]
mov ecx, esi
call fcn.004838a0
add esp, 4
call fcn.0040c4c0
add esp, 0x18
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 8
call fcn.004029b0
cmp byte [ebp - 0x15], 0
je 0x42f38e
movaps xmm0, xmmword [0x543b20]
xor ecx, ecx
mov dword [ebp - 0x38], 0x8f8e83a7
mov dword [ebp - 0x34], 0x9783a083
movups xmmword [ebp - 0x30], xmm0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x38], al
inc ecx
cmp ecx, 0xf
jb 0x42f340
lea eax, [ebp - 0x38]
mov dword [0x558508], ecx
push eax
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0x29], 0
call fcn.00402a50
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0x18
call fcn.00402af0
push eax
lea ecx, [ebx + 0x40]
call fcn.0047f8c0
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 8
call fcn.004029b0
xorps xmm0, xmm0
mov byte [ebp - 0x62], 0xb7
movq qword [ebp - 0x61], xmm0
xor ecx, ecx
mov byte [ebp - 0x59], 0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x62], al
inc ecx
cmp ecx, 1
jb 0x42f3a0
lea eax, [ebp - 0x62]
mov dword [0x5585d0], ecx
push eax
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0x61], 0
call fcn.00402a50
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0x19
call fcn.00402af0
push eax
lea edx, [ebp - 0x2c0]
lea ecx, [ebp - 0x2f0]
call fcn.004838a0
sub esp, 0x14
mov byte [ebp - 4], 0x1a
lea edx, [ebx + 0x40]
mov ecx, esp
push edx
mov edx, eax
call fcn.00483ac0
add esp, 4
lea ecx, [ebp - 0x3a0]
call fcn.0040be30
add esp, 0x18
lea ecx, [ebp - 0x2f0]
call fcn.004029b0
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0x1d
call fcn.004029b0
push 0x5363dc
lea ecx, [ebp - 0x378]
call fcn.00402a50
mov byte [ebp - 4], 0x1e
cmp dword [ebp - 0x390], 0
je 0x42f747
sub esp, 0x28
lea edx, [ebp - 0x3a0]
mov eax, esp
lea ecx, [ebp - 0x110]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.00483da0
add esp, 0x30
mov byte [ebp - 4], 0x1f
xor ecx, ecx
movaps xmm0, xmmword [0x543420]
mov byte [ebp - 0xa8], 0x84
movups xmmword [ebp - 0xa7], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0xa8], al
inc ecx
cmp ecx, 8
jb 0x42f490
lea eax, [ebp - 0xa8]
mov dword [0x5585d4], ecx
push eax
lea ecx, [ebp - 0x320]
mov byte [ebp - 0xa0], 0
call fcn.00402a50
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x320]
or edi, 4
mov dword [ebp - 0x14], edi
call fcn.00402af0
push eax
lea ecx, [ebp - 0x110]
call fcn.00483b70
cmp byte [eax], 0
je 0x42f5c1
movaps xmm0, xmmword [0x543420]
xor ecx, ecx
mov byte [ebp - 0xa8], 0x84
movups xmmword [ebp - 0xa7], xmm0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0xa8], al
inc ecx
cmp ecx, 8
jb 0x42f501
lea eax, [ebp - 0xa8]
mov dword [0x5585d4], ecx
push eax
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 0xa0], 0
call fcn.00402a50
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x2a8]
or edi, 8
mov dword [ebp - 0x14], edi
call fcn.00402af0
push eax
lea ecx, [ebp - 0x110]
call fcn.00483b70
movaps xmm0, xmmword [0x543780]
mov esi, eax
mov dword [ebp - 0x7e], 0x9c8e828e
xor ecx, ecx
mov word [ebp - 0x7a], 0x8096
movups xmmword [ebp - 0x78], xmm0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x7e], al
inc ecx
cmp ecx, 0xd
jb 0x42f571
lea eax, [ebp - 0x7e]
mov dword [0x55852c], ecx
push eax
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0x71], 0
call fcn.00402a50
mov dword [ebp - 4], 0x22
lea ecx, [ebp - 0xe4]
or edi, 0x10
mov dword [ebp - 0x14], edi
call fcn.00402af0
push eax
mov ecx, esi
call fcn.00483b70
mov byte [ebp - 0x15], 1
cmp byte [eax], 0
jne 0x42f5c5
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test al, 0x10
je 0x42f5e0
and eax, 0xffffffef
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0x14], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
test al, 8
je 0x42f5f8
and eax, 0xfffffff7
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x14], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x1f
test al, 4
je 0x42f614
and eax, 0xfffffffb
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x14], eax
call fcn.004029b0
cmp byte [ebp - 0x15], 0
je 0x42f735
movaps xmm0, xmmword [0x543420]
xor ecx, ecx
mov byte [ebp - 0xa8], 0x84
movups xmmword [ebp - 0xa7], xmm0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0xa8], al
inc ecx
cmp ecx, 8
jb 0x42f635
lea eax, [ebp - 0xa8]
mov dword [0x5585d4], ecx
push eax
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 0xa0], 0
call fcn.00402a50
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 0x23
call fcn.00402af0
push eax
lea ecx, [ebp - 0x110]
call fcn.00483b70
movaps xmm0, xmmword [0x543780]
mov esi, eax
mov dword [ebp - 0x7e], 0x9c8e828e
xor ecx, ecx
mov word [ebp - 0x7a], 0x8096
movups xmmword [ebp - 0x78], xmm0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x7e], al
inc ecx
cmp ecx, 0xd
jb 0x42f6a0
lea eax, [ebp - 0x7e]
mov dword [0x55852c], ecx
push eax
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0x71], 0
call fcn.00402a50
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0x24
call fcn.00402af0
push eax
mov ecx, esi
call fcn.00483b70
lea ecx, [ebp - 0x250]
push ecx
mov ecx, eax
call fcn.00483cb0
mov edx, eax
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x2f0]
call fcn.00402890
push eax
lea ecx, [ebp - 0x378]
call fcn.0047f920
lea ecx, [ebp - 0x2f0]
call fcn.004029b0
lea ecx, [ebp - 0x250]
call fcn.004029b0
lea ecx, [ebp - 0xe4]
call fcn.004029b0
lea ecx, [ebp - 0x2a8]
call fcn.004029b0
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x1e
call fcn.0047d5c0
mov edi, dword [ebp - 0x14]
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0x84], 0
call fcn.0047e760
test eax, eax
je 0x431bef
cmp byte [ebx + 8], 0
je 0x42f785
push 0x5363dc
lea ecx, [ebp - 0x38]
call fcn.00402a50
mov esi, eax
mov byte [ebp - 4], 0x26
or edi, 0x20
jmp 0x42f81b
xorps xmm0, xmm0
mov byte [ebp - 0x1e4], 0xb7
movq qword [ebp - 0x1e3], xmm0
xor ecx, ecx
mov byte [ebp - 0x1db], 0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x1e4], al
inc ecx
cmp ecx, 1
jb 0x42f7a0
lea eax, [ebp - 0x1e4]
mov dword [0x5585d0], ecx
push eax
lea ecx, [ebp - 0xcc]
mov byte [ebp - 0x1e3], 0
call fcn.00402a50
mov dword [ebp - 4], 0x27
lea ecx, [ebp - 0xcc]
or edi, 0x40
mov dword [ebp - 0x14], edi
call fcn.00402af0
push dword [ebp - 0x84]
lea ecx, [ebp - 0xb4]
mov esi, eax
call fcn.0047e740
push esi
mov edx, eax
lea ecx, [ebp - 0x228]
call fcn.004838a0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0x28
or edi, 0x80
xorps xmm0, xmm0
mov dword [ebp - 0x14], edi
mov byte [ebp - 0x1da], 0xb7
xor ecx, ecx
movq qword [ebp - 0x1d9], xmm0
mov byte [ebp - 0x1d1], 0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x1da], al
inc ecx
cmp ecx, 1
jb 0x42f840
lea eax, [ebp - 0x1da]
mov dword [0x5585d0], ecx
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 0x1d9], 0
call fcn.00402a50
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0x29
call fcn.00402af0
push eax
lea edx, [ebp - 0x2c0]
lea ecx, [ebp - 0x2d8]
call fcn.004838a0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x250]
call fcn.00483b20
sub esp, 0x14
mov byte [ebp - 4], 0x2b
lea edx, [ebx + 0x40]
mov ecx, esp
push edx
mov edx, eax
call fcn.00483ac0
add esp, 4
call fcn.0040c4c0
add esp, 0x18
lea ecx, [ebp - 0x250]
test al, al
sete byte [ebp - 0x15]
call fcn.004029b0
lea ecx, [ebp - 0x2d8]
call fcn.004029b0
lea ecx, [ebp - 0x54]
call fcn.004029b0
mov eax, dword [ebp - 0x14]
test al, al
jns 0x42f903
and eax, 0xffffff7f
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x14], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
test al, 0x40
je 0x42f91b
and eax, 0xffffffbf
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x14], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x1e
test al, 0x20
je 0x42f934
and eax, 0xffffffdf
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x14], eax
call fcn.004029b0
cmp byte [ebp - 0x15], 0
je 0x42fbe5
xor ecx, ecx
cmp byte [ebx + 8], cl
je 0x42f9bc
movaps xmm0, xmmword [0x543b20]
mov dword [ebp - 0x38], 0x8f8e83a7
mov dword [ebp - 0x34], 0x9783a083
movups xmmword [ebp - 0x30], xmm0
nop
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x38], al
inc ecx
cmp ecx, 0xf
jb 0x42f960
lea eax, [ebp - 0x38]
mov dword [0x558508], ecx
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 0x29], 0
call fcn.00402a50
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x80]
mov edi, dword [ebp - 0x14]
or edi, 0x100
mov dword [ebp - 0x14], edi
call fcn.00402af0
push eax
lea ecx, [ebp - 0x228]
call fcn.00402a50
mov esi, eax
mov dword [ebp - 4], 0x2d
or edi, 0x200
jmp 0x42fa61
movaps xmm0, xmmword [0x545540]
movups xmmword [ebp - 0x200], xmm0
mov byte [ebp - 0x1e8], 0
xorps xmm0, xmm0
movq qword [ebp - 0x1f0], xmm0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x200], al
inc ecx
cmp ecx, 0x10
jb 0x42f9e0
lea eax, [ebp - 0x200]
mov dword [0x5585d8], ecx
push eax
lea ecx, [ebp - 0xcc]
mov byte [ebp - 0x1f0], 0
call fcn.00402a50
mov dword [ebp - 4], 0x2e
lea ecx, [ebp - 0xcc]
mov edi, dword [ebp - 0x14]
or edi, 0x400
mov dword [ebp - 0x14], edi
call fcn.00402af0
push dword [ebp - 0x84]
lea ecx, [ebp - 0xb4]
mov esi, eax
call fcn.0047e740
push esi
mov edx, eax
lea ecx, [ebp - 0x2d8]
call fcn.004838a0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0x2f
or edi, 0x800
xorps xmm0, xmm0
mov dword [ebp - 0x14], edi
mov byte [ebp - 0x1d0], 0xb7
xor ecx, ecx
movq qword [ebp - 0x1cf], xmm0
mov byte [ebp - 0x1c7], 0
nop
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x1d0], al
inc ecx
cmp ecx, 1
jb 0x42fa80
lea eax, [ebp - 0x1d0]
mov dword [0x5585d0], ecx
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 0x1cf], 0
call fcn.00402a50
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0x30
call fcn.00402af0
push eax
lea edx, [ebp - 0x2c0]
lea ecx, [ebp - 0x250]
call fcn.004838a0
sub esp, 0x14
mov byte [ebp - 4], 0x31
mov ecx, esp
mov edx, eax
push esi
call fcn.00483b20
add esp, 4
call fcn.0040c4c0
add esp, 0x18
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0x250]
call fcn.004029b0
lea ecx, [ebp - 0x54]
call fcn.004029b0
mov eax, dword [ebp - 0x14]
test eax, 0x800
je 0x42fb20
and eax, 0xfffff7ff
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 0x14], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
test eax, 0x400
je 0x42fb3d
and eax, 0xfffffbff
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x14], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
test eax, 0x200
je 0x42fb5a
and eax, 0xfffffdff
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x14], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x1e
test eax, 0x100
je 0x42fb78
and eax, 0xfffffeff
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x14], eax
call fcn.004029b0
cmp byte [ebp - 0x15], 0
je 0x42fbe5
movaps xmm0, xmmword [0x543b20]
xor ecx, ecx
mov dword [ebp - 0x38], 0x8f8e83a7
mov dword [ebp - 0x34], 0x9783a083
movups xmmword [ebp - 0x30], xmm0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x38], al
inc ecx
cmp ecx, 0xf
jb 0x42fba0
lea eax, [ebp - 0x38]
mov dword [0x558508], ecx
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 0x29], 0
call fcn.00402a50
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x32
call fcn.00402af0
push eax
lea ecx, [ebx + 0x40]
call fcn.0047f8c0
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x1e
call fcn.004029b0
cmp byte [ebx + 8], 0
je 0x42fc0a
push 0x5363dc
lea ecx, [ebp - 0x38]
call fcn.00402a50
mov esi, eax
mov byte [ebp - 4], 0x33
or dword [ebp - 0x14], 0x1000
jmp 0x42fca9
xorps xmm0, xmm0
mov byte [ebp - 0x1bc], 0xb7
movq qword [ebp - 0x1bb], xmm0
xor ecx, ecx
mov byte [ebp - 0x1b3], 0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x1bc], al
inc ecx
cmp ecx, 1
jb 0x42fc25
lea eax, [ebp - 0x1bc]
mov dword [0x5585d0], ecx
push eax
lea ecx, [ebp - 0xcc]
mov byte [ebp - 0x1bb], 0
call fcn.00402a50
mov dword [ebp - 4], 0x34
lea ecx, [ebp - 0xcc]
mov edi, dword [ebp - 0x14]
or edi, 0x2000
mov dword [ebp - 0x14], edi
call fcn.00402af0
push dword [ebp - 0x84]
lea ecx, [ebp - 0xb4]
mov esi, eax
call fcn.0047e740
push esi
mov edx, eax
lea ecx, [ebp - 0x228]
call fcn.004838a0
add esp, 4
mov esi, eax
or edi, 0x4000
mov dword [ebp - 4], 0x35
mov dword [ebp - 0x14], edi
xorps xmm0, xmm0
mov byte [ebp - 0x1c6], 0xb7
movq qword [ebp - 0x1c5], xmm0
xor ecx, ecx
mov byte [ebp - 0x1bd], 0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x1c6], al
inc ecx
cmp ecx, 1
jb 0x42fcc4
lea eax, [ebp - 0x1c6]
mov dword [0x5585d0], ecx
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 0x1c5], 0
call fcn.00402a50
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0x36
call fcn.00402af0
push eax
lea edx, [ebp - 0x2c0]
lea ecx, [ebp - 0x2d8]
call fcn.004838a0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x250]
call fcn.00483b20
sub esp, 0x14
mov byte [ebp - 4], 0x38
lea edx, [ebx + 0x40]
mov ecx, esp
push edx
mov edx, eax
call fcn.00483ac0
add esp, 4
lea ecx, [ebp - 0xe4]
call fcn.0040be30
add esp, 0x18
lea ecx, [ebp - 0x250]
call fcn.004029b0
lea ecx, [ebp - 0x2d8]
call fcn.004029b0
lea ecx, [ebp - 0x54]
call fcn.004029b0
mov eax, dword [ebp - 0x14]
test eax, 0x4000
je 0x42fd8a
and eax, 0xffffbfff
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x14], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
test eax, 0x2000
je 0x42fda7
and eax, 0xffffdfff
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x14], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x3f
test eax, 0x1000
je 0x42fdc2
and eax, 0xffffefff
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x14], eax
call fcn.004029b0
push 0x5363dc
lea ecx, [ebp - 0x320]
call fcn.00402a50
mov byte [ebp - 4], 0x40
cmp dword [ebp - 0xd4], 0
je 0x4300d1
cmp dword [ebp - 0x368], 0
jne 0x4300d1
sub esp, 0x28
lea edx, [ebp - 0xe4]
mov eax, esp
lea ecx, [ebp - 0x388]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.00483da0
add esp, 0x30
mov byte [ebp - 4], 0x41
xor ecx, ecx
movaps xmm0, xmmword [0x543420]
mov byte [ebp - 0x121], 0x84
movups xmmword [ebp - 0x120], xmm0
nop
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x121], al
inc ecx
cmp ecx, 8
jb 0x42fe30
lea eax, [ebp - 0x121]
mov dword [0x5585d4], ecx
push eax
lea ecx, [ebp - 0x228]
mov byte [ebp - 0x119], 0
call fcn.00402a50
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x228]
mov edi, dword [ebp - 0x14]
or edi, 0x8000
mov dword [ebp - 0x14], edi
call fcn.00402af0
push eax
lea ecx, [ebp - 0x388]
call fcn.00483b70
cmp byte [eax], 0
je 0x42ff5d
movaps xmm0, xmmword [0x543420]
xor ecx, ecx
mov byte [ebp - 0x79], 0x84
movups xmmword [ebp - 0x78], xmm0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x79], al
inc ecx
cmp ecx, 8
jb 0x42fea1
lea eax, [ebp - 0x79]
mov dword [0x5585d4], ecx
push eax
lea ecx, [ebp - 0xcc]
mov byte [ebp - 0x71], 0
call fcn.00402a50
mov dword [ebp - 4], 0x43
lea ecx, [ebp - 0xcc]
or edi, 0x10000
mov dword [ebp - 0x14], edi
call fcn.00402af0
push eax
lea ecx, [ebp - 0x388]
call fcn.00483b70
movaps xmm0, xmmword [0x543780]
mov esi, eax
mov dword [ebp - 0x36], 0x9c8e828e
xor ecx, ecx
mov word [ebp - 0x32], 0x8096
movups xmmword [ebp - 0x30], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x36], al
inc ecx
cmp ecx, 0xd
jb 0x42ff10
lea eax, [ebp - 0x36]
mov dword [0x55852c], ecx
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 0x29], 0
call fcn.00402a50
mov dword [ebp - 4], 0x44
lea ecx, [ebp - 0x54]
or edi, 0x20000
mov dword [ebp - 0x14], edi
call fcn.00402af0
push eax
mov ecx, esi
call fcn.00483b70
mov byte [ebp - 0x15], 1
cmp byte [eax], 0
jne 0x42ff61
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test eax, 0x20000
je 0x42ff7e
and eax, 0xfffdffff
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x14], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
test eax, 0x10000
je 0x42ff9b
and eax, 0xfffeffff
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x14], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x41
test eax, 0x8000
je 0x42ffbc
and eax, 0xffff7fff
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x14], eax
call fcn.004029b0
cmp byte [ebp - 0x15], 0
je 0x4300c2
movaps xmm0, xmmword [0x543420]
xor ecx, ecx
mov byte [ebp - 0x79], 0x84
movups xmmword [ebp - 0x78], xmm0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x79], al
inc ecx
cmp ecx, 8
jb 0x42ffd7
lea eax, [ebp - 0x79]
mov dword [0x5585d4], ecx
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 0x71], 0
call fcn.00402a50
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x45
call fcn.00402af0
push eax
lea ecx, [ebp - 0x388]
call fcn.00483b70
movaps xmm0, xmmword [0x543780]
mov esi, eax
mov dword [ebp - 0x36], 0x9c8e828e
xor ecx, ecx
mov word [ebp - 0x32], 0x8096
movups xmmword [ebp - 0x30], xmm0
nop
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x36], al
inc ecx
cmp ecx, 0xd
jb 0x430030
lea eax, [ebp - 0x36]
mov dword [0x55852c], ecx
push eax
lea ecx, [ebp - 0x228]
mov byte [ebp - 0x29], 0
call fcn.00402a50
lea ecx, [ebp - 0x228]
mov byte [ebp - 4], 0x46
call fcn.00402af0
push eax
mov ecx, esi
call fcn.00483b70
lea ecx, [ebp - 0x2d8]
push ecx
mov ecx, eax
call fcn.00483cb0
mov edx, eax
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x250]
call fcn.00402890
push eax
lea ecx, [ebp - 0x320]
call fcn.0047f920
lea ecx, [ebp - 0x250]
call fcn.004029b0
lea ecx, [ebp - 0x2d8]
call fcn.004029b0
lea ecx, [ebp - 0x228]
call fcn.004029b0
lea ecx, [ebp - 0x54]
call fcn.004029b0
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x40
call fcn.0047d5c0
mov eax, dword [ebp - 0x310]
test eax, eax
jne 0x4300f5
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x320]
call fcn.0047f8f0
mov eax, dword [ebp - 0x310]
test eax, eax
push ecx
lea ecx, [ebp - 0xa8]
setne byte [ebp - 0x85]
call fcn.0047d990
mov byte [ebp - 4], 0x48
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0x1c], esp
sub esp, 8
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.0047d960
add esp, 8
push dword [ebp - 0x84]
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x49
call fcn.0047e740
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047d240
mov ecx, eax
mov byte [ebp - 4], 0x48
call fcn.0047d5e0
cmp byte [ebx + 0xc], 0
je 0x4301b8
movaps xmm0, xmmword [0x544060]
xor ecx, ecx
mov byte [ebp - 0x79], 0xa5
movups xmmword [ebp - 0x78], xmm0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x79], al
inc ecx
cmp ecx, 8
jb 0x430171
lea eax, [ebp - 0x79]
mov dword [0x5585d4], ecx
push eax
lea ecx, [ebp - 0x250]
mov byte [ebp - 0x71], 0
call fcn.00402a50
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x250]
mov edi, dword [ebp - 0x14]
or edi, 0x40000
mov dword [ebp - 0x14], edi
call fcn.00402af0
mov dword [ebp - 0x58], eax
jmp 0x4301c2
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x58], 0x5363dc
cmp byte [ebx + 8], 0
je 0x4301ec
push 0x5363dc
lea ecx, [ebp - 0x200]
call fcn.00402a50
mov esi, eax
mov dword [ebp - 4], 0x4b
or edi, 0x80000
jmp 0x43028e
xorps xmm0, xmm0
mov byte [ebp - 0x1b2], 0xb7
movq qword [ebp - 0x1b1], xmm0
xor ecx, ecx
mov byte [ebp - 0x1a9], 0
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x1b2], al
inc ecx
cmp ecx, 1
jb 0x430210
lea eax, [ebp - 0x1b2]
mov dword [0x5585d0], ecx
push eax
lea ecx, [ebp - 0x2d8]
mov byte [ebp - 0x1b1], 0
call fcn.00402a50
mov dword [ebp - 4], 0x4c
lea ecx, [ebp - 0x2d8]
or edi, 0x100000
mov dword [ebp - 0x14], edi
call fcn.00402af0
push dword [ebp - 0x84]
lea ecx, [ebp - 0xb4]
mov esi, eax
call fcn.0047e740
push esi
mov edx, eax
lea ecx, [ebp - 0x444]
call fcn.004838a0
add esp, 4
mov esi, eax
mov dword [ebp - 4], 0x4d
or edi, 0x200000
xorps xmm0, xmm0
mov dword [ebp - 0x14], edi
mov byte [ebp - 0xee], 0xb7
xor ecx, ecx
movq qword [ebp - 0xed], xmm0
mov byte [ebp - 0xe5], 0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0xee], al
inc ecx
cmp ecx, 1
jb 0x4302b0
lea eax, [ebp - 0xee]
mov dword [0x5585d0], ecx
push eax
lea ecx, [ebp - 0x228]
mov byte [ebp - 0xed], 0
call fcn.00402a50
lea ecx, [ebp - 0x228]
mov dword [ebp - 4], 0x4e
call fcn.00402af0
push eax
lea edx, [ebp - 0x2c0]
lea ecx, [ebp - 0x428]
call fcn.004838a0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x474]
call fcn.00483b20
add esp, 4
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x45c]
push dword [ebp - 0x58]
mov edx, eax
call fcn.00483900
add esp, 4
lea ecx, [ebx + 0x28]
mov byte [ebp - 4], 0x51
push ecx
mov edx, eax
lea ecx, [ebp - 0x2f0]
call fcn.00483ac0
add esp, 4
lea ecx, [ebp - 0x45c]
call fcn.004029b0
lea ecx, [ebp - 0x474]
call fcn.004029b0
lea ecx, [ebp - 0x428]
call fcn.004029b0
lea ecx, [ebp - 0x228]
call fcn.004029b0
mov eax, dword [ebp - 0x14]
test eax, 0x200000
je 0x430397
and eax, 0xffdfffff
lea ecx, [ebp - 0x444]
mov dword [ebp - 0x14], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
test eax, 0x100000
je 0x4303b4
and eax, 0xffefffff
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 0x14], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
test eax, 0x80000
je 0x4303d1
and eax, 0xfff7ffff
lea ecx, [ebp - 0x200]
mov dword [ebp - 0x14], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x5a
test eax, 0x40000
je 0x4303ef
and eax, 0xfffbffff
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x14], eax
call fcn.004029b0
lea ecx, [ebp - 0x2f0]
call fcn.00402af0
lea edx, [ebp - 0x8c]
mov ecx, eax
call fcn.00417ba0
test eax, eax
jne 0x431b2b
movaps xmm0, xmmword [0x545ec0]
xor ecx, ecx
movups xmmword [ebp - 0x40e], xmm0
mov dword [ebp - 0x3ae], 0x2b242724
movaps xmm0, xmmword [0x544c50]
movups xmmword [ebp - 0x3fe], xmm0
mov byte [ebp - 0x3aa], 0x3c
movaps xmm0, xmmword [0x544f50]
movups xmmword [ebp - 0x3ee], xmm0
mov byte [ebp - 0x3a1], al
movaps xmm0, xmmword [0x544750]
movups xmmword [ebp - 0x3de], xmm0
movaps xmm0, xmmword [0x544730]
movups xmmword [ebp - 0x3ce], xmm0
movaps xmm0, xmmword [0x544530]
movups xmmword [ebp - 0x3be], xmm0
xorps xmm0, xmm0
movq qword [ebp - 0x3a9], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x40e], al
inc ecx
cmp ecx, 0x65
jb 0x430490
lea eax, [ebp - 0x40e]
mov dword [0x55850c], ecx
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 0x3a9], 0
call fcn.00402a50
lea ecx, [ebp - 0x54]
call fcn.00402af0
lea ecx, [ebp - 0x54]
mov esi, eax
call fcn.004029b0
push ecx
lea eax, [ebp - 0x68]
mov edx, esi
mov esi, dword [ebp - 0x8c]
push eax
push ecx
mov ecx, esi
call fcn.004dd460
add esp, 0xc
test eax, eax
jne 0x431b24
mov edi, dword [ebp - 0x68]
mov ecx, edi
call fcn.004b9b80
cmp eax, 0x64
jne 0x431b1d
lea eax, [ebp - 0x122]
mov dword [ebp - 0x348], eax
nop
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x130]
push 0
mov byte [ebp - 0x138], 0
call fcn.00481590
mov byte [ebp - 4], 0x5c
test edi, edi
je 0x43057b
cmp dword [edi + 0x2c], 0
je 0x430556
xor eax, eax
cmp ax, word [edi + 0x30]
jae 0x430556
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x430551
push eax
call dword [0x555d08]
add esp, 4
mov ecx, dword [edi + 0x2c]
jmp 0x430580
mov eax, dword [edi]
test eax, eax
je 0x43057b
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43056d
push eax
call dword [0x555d08]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.004a84e0
add esp, 0xc
mov ecx, 0x53c608
mov dl, 1
call fcn.004b69f0
mov dword [ebp - 0x20], eax
test edi, edi
je 0x4305e1
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x4305c4
cmp byte [esi + 0x1e], 0
jne 0x4305a7
mov eax, esi
cmp ecx, 0xc0a
jne 0x4305bf
push 0
push 7
push esi
call fcn.004a84e0
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [edi]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x4305cb
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [edi + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4305e1
push eax
call dword [0x555d10]
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x147], 0x8f80838f
push 0x18
mov word [ebp - 0x143], 0x9e86
movq qword [ebp - 0x141], xmm0
mov byte [ebp - 0x139], 0
movq qword [ebp - 0x258], xmm0
mov byte [ebp - 0x260], 3
call fcn.004f7990
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x344], esi
mov byte [ebp - 4], 0x5d
xorps xmm0, xmm0
mov edx, dword [ebp - 0x20]
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430650
sub ecx, dword [ebp - 0x20]
push ecx
push edx
mov ecx, esi
call fcn.00402b20
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x258], esi
mov byte [ebp - 4], 0x5e
xor ecx, ecx
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x147], al
inc ecx
cmp ecx, 6
jb 0x430680
mov dword [0x5584f8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x147]
mov byte [ebp - 0x141], 0
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x44], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x40], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4306c0
sub ecx, edx
lea eax, [ebp - 0x147]
push ecx
push eax
lea ecx, [ebp - 0x54]
call fcn.00402b20
or dword [ebp - 0x14], 0x2000000
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x5f
call fcn.00402af0
mov cl, byte [ebp - 0x138]
mov esi, eax
test cl, cl
jne 0x430729
push 1
lea ecx, [ebp - 0x340]
mov byte [ebp - 0x138], 1
call fcn.00481590
mov ecx, dword [ebp - 0x340]
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x12c], eax
jmp 0x43073b
cmp cl, 1
jne 0x431c51
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x58], eax
mov ecx, esi
mov dword [ebp - 0x298], 0
xorps xmm0, xmm0
mov dword [ebp - 0x294], 0
movups xmmword [ebp - 0x2a8], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430760
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x2a8]
call fcn.00402b20
lea eax, [ebp - 0x2a8]
mov byte [ebp - 4], 0x60
mov ecx, dword [ebp - 0x58]
push eax
call fcn.00486cf0
lea ecx, [ebp - 0x2a8]
mov esi, eax
call fcn.004029b0
mov cl, byte [esi]
mov eax, dword [ebp - 0x254]
mov edi, dword [ebp - 0x1c]
mov byte [esi], 3
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x260], cl
mov ecx, dword [esi + 8]
mov dword [ebp - 0x258], ecx
lea ecx, [ebp - 0x260]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
mov dword [ebp - 0x254], edx
call fcn.0047d5c0
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x68]
cmp ecx, 0x10
jb 0x430808
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4307fe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431c4c
push ecx
push edx
call fcn.004f7c11
add esp, 8
xorps xmm0, xmm0
mov byte [ebp - 0x17a], 0xda
movq qword [ebp - 0x179], xmm0
xor ecx, ecx
mov byte [ebp - 0x171], 0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x17a], al
inc ecx
cmp ecx, 1
jb 0x430823
mov dword [0x5585d0], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x17a]
mov byte [ebp - 0x179], 0
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x44], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x40], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430860
sub ecx, edx
lea eax, [ebp - 0x17a]
push ecx
push eax
lea ecx, [ebp - 0x54]
call fcn.00402b20
or dword [ebp - 0x14], 0x80000000
mov byte [ebp - 4], 0x64
lea edx, [ebp - 0x54]
cmp dword [ebp - 0x40], 0x10
xorps xmm0, xmm0
movups xmmword [ebp - 0xcc], xmm0
cmovae edx, dword [ebp - 0x54]
mov ecx, edx
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4308b2
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xcc]
call fcn.00402b20
mov byte [ebp - 4], 0x65
test edi, edi
je 0x430921
cmp dword [edi + 0x2c], 0
je 0x4308fc
mov eax, 1
cmp ax, word [edi + 0x30]
jae 0x4308fc
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4308f4
push eax
call dword [0x555d08]
add esp, 4
mov ecx, dword [edi + 0x2c]
add ecx, 0x28
jmp 0x430926
mov eax, dword [edi]
test eax, eax
je 0x430921
mov eax, dword [eax + 0x44]
test eax, eax
je 0x430913
push eax
call dword [0x555d08]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.004a84e0
add esp, 0xc
mov ecx, 0x53c608
mov dl, 1
call fcn.004b69f0
mov edx, eax
mov dword [ebp - 0x20], edx
test edi, edi
je 0x43098c
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x43096c
cmp byte [esi + 0x1e], 0
jne 0x43094f
mov eax, esi
cmp ecx, 0xc0a
jne 0x430967
push 0
push 7
push esi
call fcn.004a84e0
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [edi]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x430973
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [edi + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x430989
push eax
call dword [0x555d10]
add esp, 4
mov edx, dword [ebp - 0x20]
mov ecx, edx
mov dword [ebp - 0x70], 0
xorps xmm0, xmm0
mov dword [ebp - 0x6c], 0
movups xmmword [ebp - 0x80], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4309a6
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x80]
call fcn.00402b20
cmp dword [ebp - 0xb8], 0x10
lea eax, [ebp - 0xcc]
mov ecx, dword [ebp - 0xcc]
movaps xmm0, xmmword [0x5436b0]
cmovae eax, ecx
mov edx, dword [ebp - 0x80]
setae byte [ebp - 0x39]
cmp dword [ebp - 0x6c], 0x10
push dword [ebp - 0xbc]
mov dword [ebp - 0x20], ecx
setae byte [ebp - 0x15]
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x1c], edx
cmovae ecx, edx
mov byte [ebp - 0x121], 0x83
mov edx, dword [ebp - 0x70]
movups xmmword [ebp - 0x120], xmm0
mov byte [ebp - 0x270], 4
xorps xmm0, xmm0
push eax
movq qword [ebp - 0x268], xmm0
call fcn.0048f820
mov byte [ebp - 0x208], al
add esp, 8
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x264], eax
mov byte [ebp - 4], 0x67
xor ecx, ecx
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x121], al
inc ecx
cmp ecx, 8
jb 0x430a50
mov dword [0x5585d4], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x121]
mov byte [ebp - 0x119], 0
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x24], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430a90
sub ecx, edx
lea eax, [ebp - 0x121]
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.00402b20
or dword [ebp - 0x14], 0x40000000
mov byte [ebp - 4], 0x68
lea edx, [ebp - 0x38]
cmp dword [ebp - 0x24], 0x10
xorps xmm0, xmm0
movups xmmword [ebp - 0x308], xmm0
cmovae edx, dword [ebp - 0x38]
mov ecx, edx
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2f4], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430ae2
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x308]
call fcn.00402b20
lea eax, [ebp - 0x308]
mov byte [ebp - 4], 0x69
mov ecx, dword [ebp - 0x58]
push eax
call fcn.00486cf0
mov byte [ebp - 4], 0x68
mov esi, eax
mov ecx, dword [ebp - 0x2f4]
cmp ecx, 0x10
jb 0x430b4b
mov edx, dword [ebp - 0x308]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x430b41
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431c4c
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2f4], 0xf
mov byte [ebp - 0x308], 0
mov al, byte [esi]
mov edx, dword [ebp - 0x208]
mov byte [esi], 4
mov ecx, dword [esi + 0xc]
mov byte [ebp - 0x270], al
mov eax, dword [esi + 8]
mov dword [esi + 8], edx
mov edx, dword [ebp - 0x204]
mov dword [ebp - 0x264], ecx
lea ecx, [ebp - 0x270]
mov dword [esi + 0xc], edx
mov dword [ebp - 0x268], eax
call fcn.0047d5c0
mov byte [ebp - 4], 0x66
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x430bd8
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x430bce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431c4c
push ecx
push edx
call fcn.004f7c11
add esp, 8
cmp byte [ebp - 0x15], 0
mov byte [ebp - 4], 0x65
je 0x430c11
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x430c07
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431c4c
push ecx
push edx
call fcn.004f7c11
add esp, 8
cmp byte [ebp - 0x39], 0
mov byte [ebp - 4], 0x64
je 0x430c4d
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x430c43
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431c4c
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x430c85
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x430c7b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431c4c
push ecx
push edx
call fcn.004f7c11
add esp, 8
test edi, edi
je 0x430cda
cmp dword [edi + 0x2c], 0
je 0x430cb5
mov eax, 2
cmp ax, word [edi + 0x30]
jae 0x430cb5
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x430cad
push eax
call dword [0x555d08]
add esp, 4
mov ecx, dword [edi + 0x2c]
add ecx, 0x50
jmp 0x430cdf
mov eax, dword [edi]
test eax, eax
je 0x430cda
mov eax, dword [eax + 0x44]
test eax, eax
je 0x430ccc
push eax
call dword [0x555d08]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.004a84e0
add esp, 0xc
mov ecx, 0x53c608
mov dl, 1
call fcn.004b69f0
mov dword [ebp - 0x1c], eax
test edi, edi
je 0x430d40
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x430d23
cmp byte [esi + 0x1e], 0
jne 0x430d06
mov eax, esi
cmp ecx, 0xc0a
jne 0x430d1e
push 0
push 7
push esi
call fcn.004a84e0
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [edi]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x430d2a
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [edi + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x430d40
push eax
call dword [0x555d10]
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x163], 0x86998d9b
push 0x18
movq qword [ebp - 0x15f], xmm0
mov byte [ebp - 0x157], 0
movq qword [ebp - 0x278], xmm0
mov byte [ebp - 0x280], 3
call fcn.004f7990
mov esi, eax
add esp, 4
lea eax, [ebp - 0x123]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x354], esi
mov byte [ebp - 4], 0x6d
xorps xmm0, xmm0
mov edx, dword [ebp - 0x1c]
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x1c], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430db0
sub ecx, dword [ebp - 0x1c]
push ecx
push edx
mov ecx, esi
call fcn.00402b20
mov dword [ebp - 0x354], 0
mov dword [ebp - 0x278], esi
mov byte [ebp - 4], 0x6e
xor ecx, ecx
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x163], al
inc ecx
cmp ecx, 4
jb 0x430de0
mov dword [0x558588], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x163]
mov byte [ebp - 0x15f], 0
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x44], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x40], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430e20
sub ecx, edx
lea eax, [ebp - 0x163]
push ecx
push eax
lea ecx, [ebp - 0x54]
call fcn.00402b20
or dword [ebp - 0x14], 0x20000000
mov byte [ebp - 4], 0x6f
lea esi, [ebp - 0x54]
cmp dword [ebp - 0x40], 0x10
xorps xmm0, xmm0
movups xmmword [ebp - 0x338], xmm0
cmovae esi, dword [ebp - 0x54]
mov edx, esi
mov dword [ebp - 0x328], 0
mov dword [ebp - 0x324], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x430e72
sub edx, ecx
lea ecx, [ebp - 0x338]
push edx
push esi
call fcn.00402b20
lea eax, [ebp - 0x338]
mov byte [ebp - 4], 0x70
mov ecx, dword [ebp - 0x58]
push eax
call fcn.00486cf0
mov byte [ebp - 4], 0x6f
mov esi, eax
mov ecx, dword [ebp - 0x324]
cmp ecx, 0x10
jb 0x430edb
mov edx, dword [ebp - 0x338]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x430ed1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431c4c
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov dword [ebp - 0x328], 0
mov dword [ebp - 0x324], 0xf
mov byte [ebp - 0x338], 0
mov al, byte [esi]
mov edi, dword [ebp - 0x20]
mov byte [esi], 3
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x280], al
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x278], ecx
lea ecx, [ebp - 0x280]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
mov dword [ebp - 0x274], edx
call fcn.0047d5c0
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x68]
cmp ecx, 0x10
jb 0x430f68
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x430f5e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431c4c
push ecx
push edx
call fcn.004f7c11
add esp, 8
xorps xmm0, xmm0
mov byte [ebp - 0x62], 0xda
movq qword [ebp - 0x61], xmm0
xor eax, eax
mov byte [ebp - 0x59], 0
nop word [eax + eax]
lea ecx, [eax - 0x15]
xor byte [ebp + eax - 0x62], cl
inc eax
cmp eax, 1
jb 0x430f80
xorps xmm0, xmm0
mov dword [0x5585d0], eax
lea ecx, [ebp - 0x62]
mov byte [ebp - 0x61], 0
movups xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x70], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x6c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430fb1
sub ecx, edx
lea eax, [ebp - 0x62]
push ecx
push eax
lea ecx, [ebp - 0x80]
call fcn.00402b20
or dword [ebp - 0x14], 0x10000000
mov byte [ebp - 4], 0x74
lea edx, [ebp - 0x80]
cmp dword [ebp - 0x6c], 0x10
xorps xmm0, xmm0
movups xmmword [ebp - 0x38], xmm0
cmovae edx, dword [ebp - 0x80]
mov ecx, edx
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430ff7
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x38]
call fcn.00402b20
mov byte [ebp - 4], 0x75
test edi, edi
je 0x431063
cmp dword [edi + 0x2c], 0
je 0x43103e
mov eax, 3
cmp ax, word [edi + 0x30]
jae 0x43103e
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x431036
push eax
call dword [0x555d08]
add esp, 4
mov ecx, dword [edi + 0x2c]
add ecx, 0x78
jmp 0x431068
mov eax, dword [edi]
test eax, eax
je 0x431063
mov eax, dword [eax + 0x44]
test eax, eax
je 0x431055
push eax
call dword [0x555d08]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.004a84e0
add esp, 0xc
mov ecx, 0x53c608
mov dl, 1
call fcn.004b69f0
mov edx, eax
mov dword [ebp - 0x20], edx
test edi, edi
je 0x4310ce
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x4310ae
cmp byte [esi + 0x1e], 0
jne 0x431091
mov eax, esi
cmp ecx, 0xc0a
jne 0x4310a9
push 0
push 7
push esi
call fcn.004a84e0
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [edi]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x4310b5
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [edi + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4310cb
push eax
call dword [0x555d10]
add esp, 4
mov edx, dword [ebp - 0x20]
mov ecx, edx
mov dword [ebp - 0xbc], 0
xorps xmm0, xmm0
mov dword [ebp - 0xb8], 0
movups xmmword [ebp - 0xcc], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4310f1
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xcc]
call fcn.00402b20
cmp dword [ebp - 0x24], 0x10
lea eax, [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
xorps xmm0, xmm0
push dword [ebp - 0x28]
mov esi, dword [ebp - 0xcc]
cmovae eax, ecx
mov edx, dword [ebp - 0xbc]
setae byte [ebp - 0x15]
cmp dword [ebp - 0xb8], 0x10
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0xcc]
cmovae ecx, esi
mov dword [ebp - 0x156], 0x9b8e8998
push eax
setae byte [ebp - 0x39]
mov word [ebp - 0x152], 0x959d
movq qword [ebp - 0x150], xmm0
mov byte [ebp - 0x148], 0
movq qword [ebp - 0x288], xmm0
mov byte [ebp - 0x290], 4
call fcn.0048f820
mov byte [ebp - 0x210], al
add esp, 8
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x284], eax
mov byte [ebp - 4], 0x77
xor ecx, ecx
nop
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x156], al
inc ecx
cmp ecx, 6
jb 0x4311a0
mov dword [0x5584f8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x156]
mov byte [ebp - 0x150], 0
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x44], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x40], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4311e0
sub ecx, edx
lea eax, [ebp - 0x156]
push ecx
push eax
lea ecx, [ebp - 0x54]
call fcn.00402b20
or dword [ebp - 0x14], 0x1000000
mov byte [ebp - 4], 0x78
lea eax, [ebp - 0x54]
cmp dword [ebp - 0x40], 0x10
lea ecx, [ebp - 0x138]
cmovae eax, dword [ebp - 0x54]
push eax
call fcn.00483b70
mov cl, byte [eax]
mov edi, dword [ebp - 0x210]
mov byte [eax], 4
mov edx, dword [eax + 0xc]
mov byte [ebp - 0x290], cl
mov ecx, dword [eax + 8]
mov dword [eax + 8], edi
mov edi, dword [ebp - 0x20c]
mov dword [ebp - 0x288], ecx
lea ecx, [ebp - 0x290]
mov dword [eax + 0xc], edi
mov dword [ebp - 0x284], edx
call fcn.0047d5c0
mov byte [ebp - 4], 0x76
mov ecx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x68]
cmp ecx, 0x10
jb 0x431290
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x431286
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431c4c
push ecx
push edx
call fcn.004f7c11
add esp, 8
cmp byte [ebp - 0x39], 0
mov byte [ebp - 4], 0x75
je 0x4312c9
mov ecx, dword [ebp - 0xb8]
mov eax, esi
inc ecx
cmp ecx, 0x1000
jb 0x4312bf
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431c4c
push ecx
push esi
call fcn.004f7c11
add esp, 8
cmp byte [ebp - 0x15], 0
mov byte [ebp - 4], 0x74
je 0x431302
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4312f8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431c4c
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x6c]
cmp ecx, 0x10
jb 0x43133a
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x431330
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431c4c
push ecx
push edx
call fcn.004f7c11
add esp, 8
test edi, edi
je 0x431392
cmp dword [edi + 0x2c], 0
je 0x43136d
mov eax, 4
cmp ax, word [edi + 0x30]
jae 0x43136d
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x431362
push eax
call dword [0x555d08]
add esp, 4
mov ecx, dword [edi + 0x2c]
add ecx, 0xa0
jmp 0x431397
mov eax, dword [edi]
test eax, eax
je 0x431392
mov eax, dword [eax + 0x44]
test eax, eax
je 0x431384
push eax
call dword [0x555d08]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.004a84e0
add esp, 0xc
mov ecx, 0x53c608
mov dl, 1
call fcn.004b69f0
mov dword [ebp - 0x20], eax
test edi, edi
je 0x4313fb
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x4313db
cmp byte [esi + 0x1e], 0
jne 0x4313be
mov eax, esi
cmp ecx, 0xc0a
jne 0x4313d6
push 0
push 7
push esi
call fcn.004a84e0
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [edi]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x4313e2
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [edi + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4313f8
push eax
call dword [0x555d10]
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
call fcn.00505536
add esp, 4
push 0
push 0xf4240
push edx
push eax
call fcn.0051d110
movaps xmm0, xmmword [0x543e30]
sub eax, 0xb6109100
mov dword [ebp - 0x350], eax
lea eax, [ebp - 0x350]
push eax
lea eax, [ebp - 0x238]
mov dword [ebp - 0x37], 0x879d948e
sbb edx, 2
mov word [ebp - 0x33], 0x919d
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x34c], edx
xorps xmm0, xmm0
mov byte [ebp - 0x31], 0x85
push eax
mov byte [ebp - 0x238], 0
movq qword [ebp - 0x230], xmm0
call fcn.004909a0
mov byte [ebp - 4], 0x7a
xor ecx, ecx
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 0xe
jb 0x431470
mov dword [0x5584d4], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x37]
mov byte [ebp - 0x29], 0
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x44], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x40], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4314a3
sub ecx, edx
lea eax, [ebp - 0x37]
push ecx
push eax
lea ecx, [ebp - 0x54]
call fcn.00402b20
or dword [ebp - 0x14], 0x8000000
mov byte [ebp - 4], 0x7b
lea eax, [ebp - 0x54]
cmp dword [ebp - 0x40], 0x10
lea ecx, [ebp - 0x138]
cmovae eax, dword [ebp - 0x54]
push eax
call fcn.00483b70
mov edi, eax
mov dl, byte [edi]
mov cl, byte [ebp - 0x238]
mov eax, dword [ebp - 0x230]
mov byte [edi], cl
mov ecx, dword [ebp - 0x22c]
mov esi, dword [edi + 0xc]
mov byte [ebp - 0x238], dl
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x238]
mov dword [edi + 8], eax
mov dword [ebp - 0x230], edx
mov dword [ebp - 0x22c], esi
call fcn.0047d5c0
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x431554
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43154a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431c4c
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov edi, dword [ebp - 0x68]
test edi, edi
je 0x4315af
cmp dword [edi + 0x2c], 0
je 0x43158a
mov eax, 5
cmp ax, word [edi + 0x30]
jae 0x43158a
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43157f
push eax
call dword [0x555d08]
add esp, 4
mov ecx, dword [edi + 0x2c]
add ecx, 0xc8
jmp 0x4315b4
mov eax, dword [edi]
test eax, eax
je 0x4315af
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4315a1
push eax
call dword [0x555d08]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.004a84e0
add esp, 0xc
mov ecx, 0x53c608
mov dl, 1
call fcn.004b69f0
mov dword [ebp - 0x1c], eax
test edi, edi
je 0x431615
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x4315f8
cmp byte [esi + 0x1e], 0
jne 0x4315db
mov edx, esi
cmp ecx, 0xc0a
jne 0x4315f3
push 0
push 7
push esi
call fcn.004a84e0
mov byte [esi + 0x1e], 0
add esp, 0xc
mov edx, dword [edi]
mov ecx, 7
mov eax, dword [esi + 0x18]
jmp 0x4315ff
mov eax, 0xff
mov edx, esi
and eax, ecx
mov dword [edi + 0x64], eax
mov eax, dword [edx + 0x44]
test eax, eax
je 0x431615
push eax
call dword [0x555d10]
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x170], 0x8b808d85
push 0x18
movq qword [ebp - 0x16c], xmm0
mov byte [ebp - 0x164], 0
movq qword [ebp - 0x108], xmm0
mov byte [ebp - 0x110], 3
call fcn.004f7990
mov esi, eax
add esp, 4
lea eax, [ebp - 0x124]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x35c], esi
mov byte [ebp - 4], 0x7d
xorps xmm0, xmm0
mov edx, dword [ebp - 0x1c]
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x1c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x431684
sub ecx, dword [ebp - 0x1c]
push ecx
push edx
mov ecx, esi
call fcn.00402b20
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x108], esi
mov byte [ebp - 4], 0x7e
xor ecx, ecx
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x170], al
inc ecx
cmp ecx, 4
jb 0x4316b0
mov dword [0x558588], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x170]
mov byte [ebp - 0x16c], 0
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x44], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x40], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4316f0
sub ecx, edx
lea eax, [ebp - 0x170]
push ecx
push eax
lea ecx, [ebp - 0x54]
call fcn.00402b20
or dword [ebp - 0x14], 0x4000000
mov byte [ebp - 4], 0x7f
lea eax, [ebp - 0x54]
cmp dword [ebp - 0x40], 0x10
lea ecx, [ebp - 0x138]
cmovae eax, dword [ebp - 0x54]
push eax
call fcn.00483b70
mov esi, eax
mov cl, byte [esi]
mov eax, dword [ebp - 0x104]
mov edi, dword [ebp - 0x20]
mov byte [esi], 3
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x110], cl
mov ecx, dword [esi + 8]
mov dword [ebp - 0x108], ecx
lea ecx, [ebp - 0x110]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
mov dword [ebp - 0x104], edx
call fcn.0047d5c0
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x68]
cmp ecx, 0x10
jb 0x43179f
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x431795
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431c4c
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov edx, 7
mov ecx, edi
call fcn.004ba190
mov edx, 7
mov ecx, edi
mov esi, eax
call fcn.004ba280
mov dword [ebp - 0x1c], eax
test eax, eax
jle 0x431a22
push 0x5363dc
lea ecx, [ebp - 0x54]
call fcn.00402a50
mov byte [ebp - 4], 0x81
lea ecx, [ebp - 0x80]
push dword [ebp - 0x1c]
push esi
call fcn.00402a90
cmp byte [ebp - 0x85], 0
mov byte [ebp - 4], 0x82
je 0x4318eb
xorps xmm0, xmm0
mov word [ebp - 0x1a8], 0xdd9d
mov byte [ebp - 0x1a6], 0xdd
xor ecx, ecx
movq qword [ebp - 0x1a5], xmm0
mov byte [ebp - 0x19d], 0
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x1a8], al
inc ecx
cmp ecx, 3
jb 0x431820
lea eax, [ebp - 0x1a8]
mov dword [0x558540], ecx
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 0x1a5], 0
call fcn.00402a50
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0x38]
or dword [ebp - 0x14], 0x400000
call fcn.00402af0
push eax
push esi
call fcn.004f9260
add esp, 8
test eax, eax
jne 0x4318e5
xorps xmm0, xmm0
mov word [ebp - 0xfc], 0xdd9d
mov byte [ebp - 0xfa], 0xdc
xor ecx, ecx
movq qword [ebp - 0xf9], xmm0
mov byte [ebp - 0xf1], al
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0xfc], al
inc ecx
cmp ecx, 3
jb 0x431895
lea eax, [ebp - 0xfc]
mov dword [0x558540], ecx
push eax
lea ecx, [ebp - 0xcc]
mov byte [ebp - 0xf9], 0
call fcn.00402a50
or dword [ebp - 0x14], 0x800000
lea ecx, [ebp - 0xcc]
call fcn.00402af0
push eax
push esi
call fcn.004f9260
add esp, 8
test eax, eax
je 0x4318eb
mov byte [ebp - 0x15], 1
jmp 0x4318ef
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test eax, 0x800000
je 0x43190f
and eax, 0xff7fffff
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x14], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x82
test eax, 0x400000
je 0x43192d
and eax, 0xffbfffff
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x14], eax
call fcn.004029b0
cmp byte [ebp - 0x15], 0
je 0x43196c
sub esp, 0x18
lea eax, [ebp - 0x80]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.0047faa0
sub esp, 0x18
mov byte [ebp - 4], 0x84
lea eax, [ebp - 0x320]
mov ecx, esp
push eax
call fcn.0047faa0
xor dl, dl
mov byte [ebp - 4], 0x82
lea ecx, [ebp - 0x54]
call fcn.00425010
add esp, 0x30
jmp 0x43197a
push ecx
lea edx, [ebp - 0x54]
mov ecx, esi
call fcn.00424ee0
add esp, 4
sub esp, 0x10
mov dword [ebp - 0x188], 0x9b818d9d
lea eax, [ebp - 0x54]
mov dword [ebp - 0x1c], esp
xorps xmm0, xmm0
mov byte [ebp - 0x184], 0x8a
mov ecx, esp
movq qword [ebp - 0x183], xmm0
push eax
mov byte [ebp - 0x17b], 0
call fcn.00484290
mov byte [ebp - 4], 0x85
xor ecx, ecx
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x188], al
inc ecx
cmp ecx, 5
jb 0x4319b4
lea eax, [ebp - 0x188]
mov dword [0x5584f4], ecx
push eax
lea ecx, [ebp - 0xcc]
mov byte [ebp - 0x183], 0
call fcn.00402a50
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0xcc]
call fcn.00402af0
push eax
lea ecx, [ebp - 0x138]
call fcn.00483b70
mov ecx, eax
mov byte [ebp - 4], 0x87
call fcn.0047d5e0
lea ecx, [ebp - 0xcc]
call fcn.004029b0
lea ecx, [ebp - 0x80]
call fcn.004029b0
jmp 0x431ac0
mov edx, 6
mov ecx, edi
call fcn.004ba470
sub esp, 0x10
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x20], esp
xorps xmm0, xmm0
mov dword [ebp - 0x196], 0x9b818d9d
mov ecx, esp
mov byte [ebp - 0x192], 0x8a
push eax
movq qword [ebp - 0x191], xmm0
mov byte [ebp - 0x189], 0
call fcn.00484300
mov byte [ebp - 4], 0x88
xor ecx, ecx
nop dword [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x196], al
inc ecx
cmp ecx, 5
jb 0x431a70
lea eax, [ebp - 0x196]
mov dword [0x5584f4], ecx
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 0x191], 0
call fcn.00402a50
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0x54]
call fcn.00402af0
push eax
lea ecx, [ebp - 0x138]
call fcn.00483b70
mov ecx, eax
mov byte [ebp - 4], 0x8a
call fcn.0047d5e0
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x5c
call fcn.004029b0
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xb4]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
push eax
lea ecx, [ebp - 0xa8]
call fcn.0047d240
lea ecx, [ebp - 0x138]
push ecx
mov ecx, eax
call fcn.0047cf60
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0x5a
call fcn.0047d5c0
mov ecx, edi
call fcn.004b9b80
cmp eax, 0x64
je 0x430510
mov esi, dword [ebp - 0x8c]
mov ecx, edi
call fcn.004b9a40
mov ecx, esi
call fcn.00418110
movaps xmm0, xmmword [0x543320]
xor ecx, ecx
movups xmmword [ebp - 0x120], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x120], al
inc ecx
cmp ecx, 7
jb 0x431b40
lea eax, [ebp - 0x120]
mov dword [0x558510], ecx
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 0x119], 0
call fcn.00402a50
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x8b
call fcn.00402af0
mov ecx, dword [ebp - 0x19c]
push eax
call fcn.00483b70
lea ecx, [ebp - 0xa8]
push ecx
mov ecx, eax
call fcn.0047cf60
lea ecx, [ebp - 0x54]
call fcn.004029b0
lea ecx, [ebp - 0x2f0]
call fcn.004029b0
lea ecx, [ebp - 0xa8]
call fcn.0047d5c0
lea ecx, [ebp - 0x320]
call fcn.004029b0
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0x1e
call fcn.004029b0
mov esi, dword [ebp - 0x84]
lea ecx, [ebp - 0xb4]
inc esi
mov dword [ebp - 0x84], esi
call fcn.0047e760
cmp esi, eax
jae 0x431bef
mov edi, dword [ebp - 0x14]
jmp 0x42f764
lea ecx, [ebp - 0x378]
call fcn.004029b0
lea ecx, [ebp - 0x3a0]
call fcn.004029b0
lea ecx, [ebp - 0xb4]
call fcn.00481d80
lea ecx, [ebp - 0x2c0]
call fcn.004029b0
lea ecx, [ebx + 0x10]
call fcn.004029b0
lea ecx, [ebx + 0x28]
call fcn.004029b0
lea ecx, [ebx + 0x40]
call fcn.004029b0
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004fceb0
lea ecx, [ebp - 0x138]
call fcn.00481860
push eax
lea ecx, [ebp - 0x200]
call fcn.00402a50
push eax
mov edx, str.cannot_use_operator___with_a_string_argument_with
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x444]
call fcn.004839c0
add esp, 4
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x42c]
call fcn.00408c10
add esp, 4
lea eax, [ebp - 0x42c]
push 0x553aa0
push eax
call fcn.004f95fb
int3