Function at 0x457e00
Capabilities:
Authenticate hmac
Create process on windows
Encode data using xor
Get number of processors
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 0x52838a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x698
push esi
xor eax, eax
push edi
xor edi, edi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x50], eax
sub esp, 0x18
mov dword [ebp - 4], 7
lea eax, [ebx + 8]
mov ecx, esp
push eax
call fcn.00483010
lea eax, [ebp - 0x3cc]
push eax
call fcn.00457d90
push eax
lea ecx, [ebx + 8]
call fcn.00482e90
lea ecx, [ebp - 0x3cc]
call fcn.00402a10
cmp byte [0x55d080], 2
jne 0x45b804
lea eax, [ebp - 0x310]
mov ecx, 0x55d080
push eax
call fcn.004806f0
lea eax, [ebp - 0x4d4]
push eax
call fcn.00480680
lea eax, [ebp - 0x4d4]
push eax
lea ecx, [ebp - 0x310]
call fcn.00480220
test al, al
je 0x45b804
lea ecx, [ebp - 0x310]
call fcn.00480330
movaps xmm0, xmmword [0x547ab0]
mov esi, eax
mov byte [ebp - 0x61], 0xeb
xor ecx, ecx
movups xmmword [ebp - 0x60], xmm0
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x61], al
inc ecx
cmp ecx, 7
jb 0x457ee0
lea eax, [ebp - 0x61]
mov dword [0x55d560], ecx
push eax
lea ecx, [ebp - 0x170]
mov byte [ebp - 0x5a], 0
call fcn.00402ab0
or edi, 0x8000000
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 8
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0x524]
push ecx
mov ecx, eax
call fcn.00487130
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0xa
call fcn.00402a10
movaps xmm0, xmmword [0x5483f0]
xor ecx, ecx
mov word [ebp - 0x62], 0xeceb
movups xmmword [ebp - 0x60], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x62], al
inc ecx
cmp ecx, 8
jb 0x457f54
lea eax, [ebp - 0x62]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x5a], 0
call fcn.00402ab0
or edi, 0x40000000
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xb
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0x450]
push ecx
mov ecx, eax
call fcn.00487130
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xd
call fcn.00402a10
movaps xmm0, xmmword [0x547760]
xor ecx, ecx
movups xmmword [ebp - 0x60], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x60], al
inc ecx
cmp ecx, 6
jb 0x457fc0
lea eax, [ebp - 0x60]
mov dword [0x55d548], ecx
push eax
lea ecx, [ebp - 0x170]
mov byte [ebp - 0x5a], 0
call fcn.00402ab0
or edi, 0x80000000
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0xe
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0x3a4]
push ecx
mov ecx, eax
call fcn.00487130
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0x10
call fcn.00402a10
movaps xmm0, xmmword [0x547410]
xor ecx, ecx
movups xmmword [ebp - 0x60], xmm0
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x60], al
inc ecx
cmp ecx, 6
jb 0x458030
lea eax, [ebp - 0x60]
mov dword [0x55d548], ecx
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x5a], 0
call fcn.00402ab0
or edi, 0x20000000
mov dword [ebp - 0x24], edi
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x11
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
lea ecx, [ebp - 0x410]
push ecx
mov ecx, eax
call fcn.00487130
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x13
call fcn.00402a10
lea eax, [ebp - 0x458]
push eax
lea ecx, [ebp - 0x3a4]
call fcn.00482bd0
lea ecx, [ebp - 0x3a4]
mov edi, dword [eax]
lea eax, [ebp - 0x454]
push eax
call fcn.00482bb0
lea ecx, [ebp - 0x3a4]
mov esi, dword [eax]
lea eax, [ebp - 0x45c]
push eax
call fcn.00482bd0
push edi
push esi
lea ecx, [ebp - 0x3a8]
push dword [eax]
call fcn.004879a0
mov edi, dword [ebp - 0x24]
add esp, 0xc
nop word [eax + eax]
xorps xmm0, xmm0
mov byte [ebp - 0x1f7], 0xa7
movq qword [ebp - 0x1f6], xmm0
xor ecx, ecx
mov word [ebp - 0x1ee], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1f7], al
inc ecx
cmp ecx, 1
jb 0x458100
mov dword [0x55d620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x1f7]
mov byte [ebp - 0x1f6], 0
movups xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x70], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x6c], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458140
sub ecx, edx
lea eax, [ebp - 0x1f7]
push ecx
push eax
lea ecx, [ebp - 0x80]
call fcn.00402b80
or edi, 0x100
lea ecx, [ebp - 0x80]
cmp dword [ebp - 0x6c], 0x10
lea eax, [ebp - 0x3a4]
cmovae ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x390], 0x10
push ecx
cmovae eax, dword [ebp - 0x3a4]
push eax
call fcn.004fc740
mov ecx, dword [ebp - 0x6c]
add esp, 8
mov esi, eax
cmp ecx, 0x10
jb 0x4581be
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4581b4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
test esi, esi
je 0x45827f
push 0x5424b0
lea ecx, [ebp - 0x68]
call fcn.00402ab0
mov byte [ebp - 4], 0x14
xorps xmm0, xmm0
mov byte [ebp - 0x33b], 0xa7
xor ecx, ecx
movq qword [ebp - 0x33a], xmm0
mov word [ebp - 0x332], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x33b], al
inc ecx
cmp ecx, 1
jb 0x4581f4
lea eax, [ebp - 0x33b]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 0x33a], 0
call fcn.00402ab0
or edi, 0x80000
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x15
call fcn.00402b50
push eax
lea ecx, [ebp - 0x170]
call fcn.00402ab0
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x16
push eax
lea edx, [ebp - 0x170]
lea ecx, [ebp - 0x3a4]
call fcn.0040e370
add esp, 4
lea ecx, [ebp - 0x170]
call fcn.00402a10
lea ecx, [ebp - 0x80]
call fcn.00402a10
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x13
call fcn.00402a10
jmp 0x4580e0
xorps xmm0, xmm0
mov byte [ebp - 0x11], 0
mov byte [ebp - 0x346], 0xab
xor ecx, ecx
movq qword [ebp - 0x345], xmm0
mov word [ebp - 0x33d], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x346], al
inc ecx
cmp ecx, 1
jb 0x4582a0
lea eax, [ebp - 0x346]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x170]
mov byte [ebp - 0x345], 0
call fcn.00402ab0
or edi, 0x10000000
mov dword [ebp - 0x24], edi
sub esp, 0x18
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x28], esp
mov esi, esp
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00402ab0
sub esp, 0x18
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x3a4]
mov ecx, esp
push eax
call fcn.00483010
lea ecx, [ebp - 0x3f8]
mov byte [ebp - 4], 0x17
call fcn.0040e070
add esp, 0x30
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0x1a
call fcn.00402a10
lea ecx, [ebp - 0x3f8]
xor esi, esi
call fcn.00481ca0
mov edi, eax
test edi, edi
je 0x458366
push esi
lea ecx, [ebp - 0x3f8]
call fcn.00481c80
lea edx, [ebx + 8]
mov ecx, eax
call fcn.00486fc0
test al, al
jne 0x458362
inc esi
cmp esi, edi
jb 0x458341
jmp 0x458366
mov byte [ebp - 0x11], 1
lea ecx, [ebp - 0x3f8]
call fcn.00481ca0
test eax, eax
je 0x45837f
cmp byte [ebp - 0x11], 0
je 0x45b654
xorps xmm0, xmm0
mov byte [ebp - 0x2c], 0
mov byte [ebp - 0x351], 0xab
xor ecx, ecx
movq qword [ebp - 0x350], xmm0
mov word [ebp - 0x348], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x351], al
inc ecx
cmp ecx, 1
jb 0x4583a0
lea eax, [ebp - 0x351]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x474]
mov byte [ebp - 0x350], 0
call fcn.00402ab0
or dword [ebp - 0x24], 0x800000
sub esp, 0x18
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x474]
mov dword [ebp - 0x28], esp
mov esi, esp
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00402ab0
sub esp, 0x18
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x450]
mov ecx, esp
push eax
call fcn.00483010
lea ecx, [ebp - 0x3b4]
mov byte [ebp - 4], 0x1b
call fcn.0040e070
add esp, 0x30
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x1e
call fcn.00402a10
mov edi, dword [ebp - 0x3b0]
xor ecx, ecx
mov esi, dword [ebp - 0x3b4]
mov eax, 0x2aaaaaab
mov dword [ebp - 0xe0], ecx
mov ecx, edi
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x45a66a
nop dword [eax + eax]
mov eax, dword [ebp - 0xe0]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x28], esp
lea eax, [eax + eax*2]
lea eax, [esi + eax*8]
push eax
call fcn.00483010
sub esp, 0x10
mov byte [ebp - 4], 0x1f
lea eax, [ebx + 0x20]
mov ecx, esp
push eax
call fcn.00480b60
lea ecx, [ebp - 0x3e0]
mov byte [ebp - 4], 0x1e
call fcn.00419020
add esp, 0x28
xorps xmm0, xmm0
mov byte [ebp - 4], 0x20
movq qword [ebp - 0x430], xmm0
lea edx, [ebp - 0x438]
lea ecx, [ebp - 0x3e0]
mov byte [ebp - 0x438], 5
movlpd qword [ebp - 0x430], xmm0
call fcn.0048b500
lea ecx, [ebp - 0x438]
mov byte [ebp - 0x11], al
call fcn.00480b00
cmp byte [ebp - 0x11], 0
jne 0x45a628
movaps xmm0, xmmword [0x54a1c0]
xor ecx, ecx
movups xmmword [ebp - 0x116], xmm0
mov word [ebp - 0x106], 0xebf2
xorps xmm0, xmm0
mov word [ebp - 0xfc], 0
movq qword [ebp - 0x104], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x116], al
inc ecx
cmp ecx, 0x12
jb 0x458512
lea eax, [ebp - 0x116]
mov dword [0x55d5dc], ecx
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x104], 0
call fcn.00402ab0
mov edi, dword [ebp - 0x24]
or edi, 0x2000
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x21
call fcn.00402b50
push eax
lea ecx, [ebp - 0x3e0]
call fcn.00486ff0
mov ecx, eax
call fcn.004879f0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x11], al
mov byte [ebp - 4], 0x20
call fcn.00402a10
movaps xmm0, xmmword [0x549410]
xor ecx, ecx
movups xmmword [ebp - 0x118], xmm0
mov dword [ebp - 0x108], 0xe9fdeaf8
xorps xmm0, xmm0
mov word [ebp - 0xfc], 0
movq qword [ebp - 0x104], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x118], al
inc ecx
cmp ecx, 0x14
jb 0x4585a4
lea eax, [ebp - 0x118]
mov dword [0x55d540], ecx
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x104], 0
call fcn.00402ab0
or edi, 0x40000
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x22
call fcn.00402b50
push eax
lea ecx, [ebp - 0x3e0]
call fcn.00486ff0
mov ecx, eax
call fcn.004879f0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x1d], al
mov byte [ebp - 4], 0x20
call fcn.00402a10
movaps xmm0, xmmword [0x549e20]
xor ecx, ecx
movups xmmword [ebp - 0x116], xmm0
mov word [ebp - 0x106], 0xe1e5
xorps xmm0, xmm0
mov word [ebp - 0xfc], 0
movq qword [ebp - 0x104], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x116], al
inc ecx
cmp ecx, 0x12
jb 0x458632
lea eax, [ebp - 0x116]
mov dword [0x55d5dc], ecx
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x104], 0
call fcn.00402ab0
or edi, 0x1000
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x23
call fcn.00402b50
push eax
lea ecx, [ebp - 0x3e0]
call fcn.00486ff0
mov ecx, eax
call fcn.004879f0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x2d], al
mov byte [ebp - 4], 0x20
call fcn.00402a10
movaps xmm0, xmmword [0x547540]
xor ecx, ecx
mov dword [ebp - 0x66], 0xe1fbe9ea
mov word [ebp - 0x62], 0xe8d4
movups xmmword [ebp - 0x60], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x66], al
inc ecx
cmp ecx, 0xc
jb 0x4586b0
lea eax, [ebp - 0x66]
mov dword [0x55d528], ecx
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x5a], 0
call fcn.00402ab0
or edi, 0x200
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x24
call fcn.00402b50
push eax
lea ecx, [ebp - 0x3e0]
call fcn.00486ff0
lea ecx, [ebp - 0x170]
push ecx
mov ecx, eax
call fcn.00487130
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x26
call fcn.00402a10
xorps xmm0, xmm0
mov byte [ebp - 0x35c], 0xab
movq qword [ebp - 0x35b], xmm0
xor ecx, ecx
mov word [ebp - 0x353], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x35c], al
inc ecx
cmp ecx, 1
jb 0x458730
lea eax, [ebp - 0x35c]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x48c]
mov byte [ebp - 0x35b], 0
call fcn.00402ab0
or edi, 0x400
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x88], edi
sub esp, 0x18
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x48c]
mov dword [ebp - 0x28], esp
mov esi, esp
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00402ab0
sub esp, 0x18
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x170]
mov ecx, esp
push eax
call fcn.00483010
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 0x27
call fcn.0040e070
add esp, 0x30
lea ecx, [ebp - 0x48c]
mov byte [ebp - 4], 0x2a
call fcn.00402a10
cmp byte [ebp - 0x11], 0
je 0x45939f
lea ecx, [ebx + 0x30]
call fcn.00480650
test eax, eax
je 0x458d15
lea eax, [ebp - 0x1c8]
push eax
lea ecx, [ebx + 0x30]
call fcn.00487a70
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0x1c8]
mov eax, dword [ecx]
mov dword [ebp - 0x28], eax
cmp byte [eax + 0xd], 0
jne 0x458cf0
cmp byte [ebp - 0x2c], 0
jne 0x458cea
cmp byte [eax + 0x28], 0
lea esi, [eax + 0x28]
je 0x458cd5
mov ecx, esi
call fcn.00480650
test eax, eax
je 0x458cd5
lea eax, [ebp - 0x330]
mov ecx, esi
push eax
call fcn.004806f0
lea eax, [ebp - 0x4e4]
push eax
call fcn.00480680
lea eax, [ebp - 0x4e4]
push eax
lea ecx, [ebp - 0x330]
call fcn.00480220
test al, al
je 0x458cd5
lea ecx, [ebp - 0x330]
call fcn.00480330
cmp byte [ebp - 0x2c], 0
jne 0x458cd5
lea ecx, [ebp - 0x1ec]
push ecx
mov ecx, eax
call fcn.00487a70
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [ecx]
mov dword [ebp - 0x34], eax
cmp byte [eax + 0xd], 0
jne 0x458c58
nop dword [eax]
cmp byte [ebp - 0x2c], 0
jne 0x458c52
lea esi, [eax + 0x28]
mov ecx, esi
call fcn.00480650
test eax, eax
je 0x458c3d
lea eax, [ebp - 0x320]
mov ecx, esi
push eax
call fcn.004806f0
lea eax, [ebp - 0x4f4]
push eax
call fcn.00480680
lea eax, [ebp - 0x4f4]
push eax
lea ecx, [ebp - 0x320]
call fcn.00480220
test al, al
je 0x458c3d
lea ecx, [ebp - 0x320]
call fcn.00480330
cmp byte [ebp - 0x2c], 0
mov esi, eax
jne 0x458c3d
xorps xmm0, xmm0
mov dword [ebp - 0x70], 0
movups xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
mov byte [ebp - 4], 0x2d
xor ecx, ecx
movaps xmm0, xmmword [0x5475b0]
movups xmmword [ebp - 0x60], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x60], al
inc ecx
cmp ecx, 6
jb 0x458931
mov dword [0x55d548], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x60]
mov byte [ebp - 0x5a], 0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x38], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458964
sub ecx, edx
lea eax, [ebp - 0x60]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00402b80
or edi, 0x80
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x4c]
cmp dword [ebp - 0x38], 0x10
mov ecx, esi
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00486ff0
mov al, byte [eax]
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 0x11], al
cmp ecx, 0x10
jb 0x4589d7
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4589ca
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
mov al, byte [ebp - 0x11]
add esp, 8
test al, al
je 0x458a43
movaps xmm0, xmmword [0x5475b0]
xor ecx, ecx
movups xmmword [ebp - 0x60], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x60], al
inc ecx
cmp ecx, 6
jb 0x4589f0
lea eax, [ebp - 0x60]
mov dword [0x55d548], ecx
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x5a], 0
call fcn.00402ab0
or edi, 0x100000
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x2f
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00486ff0
push eax
lea ecx, [ebp - 0x80]
call fcn.0048e310
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x2d
call fcn.00402a10
xorps xmm0, xmm0
mov byte [ebp - 0x202], 0xa9
movq qword [ebp - 0x201], xmm0
xor ecx, ecx
mov word [ebp - 0x1f9], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x202], al
inc ecx
cmp ecx, 1
jb 0x458a60
mov dword [0x55d620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x202]
mov byte [ebp - 0x201], 0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x38], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458aa0
sub ecx, edx
lea eax, [ebp - 0x202]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00402b80
or edi, 0x40
mov dword [ebp - 0x24], edi
mov byte [ebp - 4], 0x30
lea edx, [ebp - 0x4c]
cmp dword [ebp - 0x38], 0x10
cmovae edx, dword [ebp - 0x4c]
sub esp, 0x18
mov ecx, edx
mov dword [ebp - 0x84], esp
mov edi, esp
mov dword [ebp - 0x88], edi
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458ae4
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0x70]
sub eax, esi
cmp eax, ecx
jb 0x45b85f
cmp dword [ebp - 0x6c], 0x10
lea eax, [ebp - 0x80]
push esi
cmovae eax, dword [ebp - 0x80]
push eax
push ecx
push edx
push ecx
push dword [ebp - 0x3a8]
mov ecx, edi
call fcn.0048aa20
mov edi, dword [ebp - 0x24]
or edi, 0x20
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x88], edi
sub esp, 0xc
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x38c]
mov byte [ebp - 0x11], 0
mov ecx, esp
push eax
call fcn.00481da0
mov cl, byte [ebp - 0x11]
mov byte [ebp - 4], 0x30
call fcn.00419320
mov byte [ebp - 4], 0x2d
add esp, 0x24
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 0x11], al
cmp ecx, 0x10
jb 0x458b91
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x458b84
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
mov al, byte [ebp - 0x11]
add esp, 8
mov ecx, dword [ebp - 0x2c]
test al, al
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov byte [ebp - 4], 0x2c
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x6c]
cmp ecx, 0x10
jb 0x458bdc
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x458bd2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov eax, dword [ebp - 0x320]
movzx eax, byte [eax]
sub eax, 1
je 0x458c00
sub eax, 1
je 0x458bf7
inc dword [ebp - 0x314]
jmp 0x458c23
add dword [ebp - 0x318], 0x10
jmp 0x458c23
mov eax, dword [ebp - 0x31c]
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x84], eax
call fcn.004844c0
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x31c], eax
lea eax, [ebp - 0x4f4]
push eax
lea ecx, [ebp - 0x320]
call fcn.00480220
test al, al
jne 0x4588f0
lea ecx, [ebp - 0x34]
call fcn.004844c0
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0xd], 0
je 0x4588a0
mov ecx, dword [ebp - 0x1ec]
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x1ec]
push dword [ecx + 4]
mov ecx, eax
push eax
call fcn.004890b0
push 0x38
push dword [ebp - 0x1ec]
call fcn.004fb0f1
mov eax, dword [ebp - 0x330]
add esp, 8
movzx eax, byte [eax]
sub eax, 1
je 0x458ca1
sub eax, 1
je 0x458c98
inc dword [ebp - 0x324]
jmp 0x458cbb
add dword [ebp - 0x328], 0x10
jmp 0x458cbb
mov eax, dword [ebp - 0x32c]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], eax
call fcn.004844c0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x32c], eax
lea eax, [ebp - 0x4e4]
push eax
lea ecx, [ebp - 0x330]
call fcn.00480220
test al, al
jne 0x458860
lea ecx, [ebp - 0x28]
call fcn.004844c0
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0xd], 0
je 0x458806
mov ecx, dword [ebp - 0x1c8]
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x1c8]
push dword [ecx + 4]
mov ecx, eax
push eax
call fcn.004890b0
push 0x38
push dword [ebp - 0x1c8]
call fcn.004fb0f1
add esp, 8
mov edx, dword [ebp - 0x2c]
test dl, dl
jne 0x4593a2
movzx eax, byte [ebx + 0x40]
sub eax, 0
je 0x4593a2
sub eax, 1
je 0x458d44
sub eax, 1
jne 0x458d52
mov eax, dword [ebx + 0x48]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 4
jmp 0x458d4a
mov eax, dword [ebx + 0x48]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4593a2
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebx + 0x40]
call fcn.00487a70
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x1dc]
mov eax, dword [ecx]
mov dword [ebp - 0x84], eax
cmp byte [eax + 0xd], 0
jne 0x45937a
nop dword [eax]
cmp byte [ebp - 0x2c], 0
jne 0x459374
cmp byte [eax + 0x28], 0
lea esi, [eax + 0x28]
je 0x459356
mov ecx, esi
call fcn.00480650
test eax, eax
je 0x459356
lea eax, [ebp - 0x300]
mov ecx, esi
push eax
call fcn.004806f0
lea eax, [ebp - 0x4c4]
push eax
call fcn.00480680
lea eax, [ebp - 0x4c4]
push eax
lea ecx, [ebp - 0x300]
call fcn.00480220
test al, al
je 0x459356
nop word [eax + eax]
lea ecx, [ebp - 0x300]
call fcn.00480330
cmp byte [ebp - 0x2c], 0
jne 0x459356
lea ecx, [ebp - 0x1d0]
push ecx
mov ecx, eax
call fcn.00487a70
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ecx]
mov dword [ebp - 0x34], eax
cmp byte [eax + 0xd], 0
jne 0x4592d6
nop dword [eax]
cmp byte [ebp - 0x2c], 0
jne 0x4592d0
lea ecx, [eax + 0x28]
movzx eax, byte [ecx]
sub eax, 0
je 0x4592b8
sub eax, 1
je 0x458e50
sub eax, 1
jne 0x458e5e
mov eax, dword [ecx + 8]
mov edx, dword [eax + 4]
sub edx, dword [eax]
sar edx, 4
jmp 0x458e56
mov eax, dword [ecx + 8]
mov edx, dword [eax + 4]
test edx, edx
je 0x4592b8
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], connect
sub edx, 1
je 0x458eed
sub edx, 1
je 0x458ee0
mov dword [ebp - 0xa0], connect
sub eax, 0
je 0x458ed4
sub eax, 1
je 0x458eed
sub eax, 1
je 0x458ee0
mov dword [ebp - 0xa0], 0
jmp 0x458efa
mov dword [ebp - 0xa0], 1
jmp 0x458efa
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0xa4], eax
jmp 0x458efa
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0x4b4]
push eax
call fcn.00480680
lea eax, [ebp - 0x4b4]
push eax
lea ecx, [ebp - 0xac]
call fcn.00480220
test al, al
je 0x4592b8
lea ecx, [ebp - 0xac]
call fcn.00480330
cmp byte [ebp - 0x2c], 0
mov esi, eax
jne 0x4592b8
xorps xmm0, xmm0
mov dword [ebp - 0x70], 0
movups xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
mov byte [ebp - 4], 0x34
xor ecx, ecx
movaps xmm0, xmmword [0x5475b0]
movups xmmword [ebp - 0x60], xmm0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x60], al
inc ecx
cmp ecx, 6
jb 0x458f61
mov dword [0x55d548], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x60]
mov byte [ebp - 0x5a], 0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x38], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x458f94
sub ecx, edx
lea eax, [ebp - 0x60]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00402b80
or dword [ebp - 0x18], 0x40000000
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0x4c]
cmp dword [ebp - 0x38], 0x10
mov ecx, esi
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00486ff0
mov al, byte [eax]
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 0x11], al
cmp ecx, 0x10
jb 0x459008
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x458ffb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
mov al, byte [ebp - 0x11]
add esp, 8
test al, al
je 0x4590c4
movaps xmm0, xmmword [0x5475b0]
xor ecx, ecx
movups xmmword [ebp - 0x60], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x60], al
inc ecx
cmp ecx, 6
jb 0x459020
mov dword [0x55d548], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x60]
mov byte [ebp - 0x5a], 0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x38], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x459053
sub ecx, edx
lea eax, [ebp - 0x60]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00402b80
or edi, 0x10
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x4c]
cmp dword [ebp - 0x38], 0x10
mov ecx, esi
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00486ff0
push eax
lea ecx, [ebp - 0x80]
call fcn.0048e310
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x4590c4
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4590ba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
xorps xmm0, xmm0
mov byte [ebp - 0x20d], 0xa9
movq qword [ebp - 0x20c], xmm0
xor ecx, ecx
mov word [ebp - 0x204], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x20d], al
inc ecx
cmp ecx, 1
jb 0x4590e1
mov dword [0x55d620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x20d]
mov byte [ebp - 0x20c], 0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x38], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x459120
sub ecx, edx
lea eax, [ebp - 0x20d]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00402b80
or edi, 1
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x88], edi
mov byte [ebp - 4], 0x37
lea edx, [ebp - 0x4c]
cmp dword [ebp - 0x38], 0x10
cmovae edx, dword [ebp - 0x4c]
sub esp, 0x18
mov ecx, edx
mov dword [ebp - 0x8c], esp
mov edi, esp
mov dword [ebp - 0x28], edi
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x459167
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0x70]
sub eax, esi
cmp eax, ecx
jb 0x45b85f
cmp dword [ebp - 0x6c], 0x10
lea eax, [ebp - 0x80]
push esi
cmovae eax, dword [ebp - 0x80]
push eax
push ecx
push edx
push ecx
push dword [ebp - 0x8c]
mov ecx, edi
call fcn.0048aa20
mov eax, dword [ebp - 0x18]
or eax, 0x80000000
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
sub esp, 0xc
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x38c]
mov byte [ebp - 0x11], 0
mov ecx, esp
push eax
call fcn.00481da0
mov cl, byte [ebp - 0x11]
mov byte [ebp - 4], 0x37
call fcn.00419320
mov byte [ebp - 4], 0x34
add esp, 0x24
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 0x11], al
cmp ecx, 0x10
jb 0x459210
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x459206
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov eax, dword [ebp - 0x2c]
mov ecx, 1
cmp byte [ebp - 0x11], 0
movzx eax, al
cmovne eax, ecx
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x6c]
mov byte [ebp - 0x2c], al
cmp ecx, 0x10
jb 0x45925d
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x459253
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov eax, dword [ebp - 0xac]
movzx eax, byte [eax]
sub eax, 1
je 0x459281
sub eax, 1
je 0x459278
inc dword [ebp - 0xa0]
jmp 0x45929b
add dword [ebp - 0xa4], 0x10
jmp 0x45929b
mov eax, dword [ebp - 0xa8]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], eax
call fcn.004844c0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0x4b4]
push eax
lea ecx, [ebp - 0xac]
call fcn.00480220
mov edi, dword [ebp - 0x24]
test al, al
jne 0x458f20
lea ecx, [ebp - 0x34]
call fcn.004844c0
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x24]
cmp byte [eax + 0xd], 0
je 0x458e20
mov ecx, dword [ebp - 0x1d0]
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x1d0]
push dword [ecx + 4]
mov ecx, eax
push eax
call fcn.004890b0
push 0x38
push dword [ebp - 0x1d0]
call fcn.004fb0f1
mov eax, dword [ebp - 0x300]
add esp, 8
movzx eax, byte [eax]
sub eax, 1
je 0x45931f
sub eax, 1
je 0x459316
inc dword [ebp - 0x2f4]
jmp 0x459339
add dword [ebp - 0x2f8], 0x10
jmp 0x459339
mov eax, dword [ebp - 0x2fc]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], eax
call fcn.004844c0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2fc], eax
lea eax, [ebp - 0x4c4]
push eax
lea ecx, [ebp - 0x300]
call fcn.00480220
mov edi, dword [ebp - 0x24]
test al, al
jne 0x458de0
lea ecx, [ebp - 0x84]
call fcn.004844c0
mov eax, dword [ebp - 0x84]
mov edi, dword [ebp - 0x24]
cmp byte [eax + 0xd], 0
je 0x458d80
mov ecx, dword [ebp - 0x1dc]
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x1dc]
push dword [ecx + 4]
mov ecx, eax
push eax
call fcn.004890b0
push 0x38
push dword [ebp - 0x1dc]
call fcn.004fb0f1
add esp, 8
mov edx, dword [ebp - 0x2c]
cmp byte [ebp - 0x1d], 0
je 0x459dbb
test dl, dl
jne 0x459dbb
movzx eax, byte [ebx + 0x50]
sub eax, 0
je 0x45988e
sub eax, 1
je 0x4593d8
sub eax, 1
jne 0x4593e6
mov eax, dword [ebx + 0x58]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 4
jmp 0x4593de
mov eax, dword [ebx + 0x58]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x45988e
lea eax, [ebp - 0x1e4]
push eax
lea ecx, [ebx + 0x50]
call fcn.00487a70
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [ecx]
mov dword [ebp - 0x34], eax
cmp byte [eax + 0xd], 0
jne 0x45986a
nop
cmp byte [ebp - 0x2c], 0
jne 0x459864
lea ecx, [eax + 0x28]
mov dword [ebp - 0xd8], 0
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], connect
sub edx, 1
je 0x4594ac
sub edx, 1
je 0x45949f
mov dword [ebp - 0xd0], connect
sub eax, 0
je 0x459493
sub eax, 1
je 0x4594ac
sub eax, 1
je 0x45949f
mov dword [ebp - 0xd0], 0
jmp 0x4594b9
mov dword [ebp - 0xd0], 1
jmp 0x4594b9
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0xd4], eax
jmp 0x4594b9
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xd8], eax
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x158], ecx
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], connect
sub edx, 1
je 0x459538
sub edx, 1
je 0x45952a
mov dword [ebp - 0x14c], connect
sub eax, 1
je 0x459538
sub eax, 1
je 0x45952a
mov dword [ebp - 0x14c], 1
jmp 0x459543
mov eax, dword [ecx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x150], eax
jmp 0x459543
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0x154], eax
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0xdc]
call fcn.00480220
test al, al
je 0x45984f
nop dword [eax]
lea ecx, [ebp - 0xdc]
call fcn.00480330
cmp byte [ebp - 0x2c], 0
mov esi, eax
jne 0x45984f
xorps xmm0, xmm0
mov dword [ebp - 0x70], 0
movups xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
mov byte [ebp - 4], 0x3a
xor ecx, ecx
mov word [ebp - 0x1b1], 0xfaf2
mov byte [ebp - 0x1af], 0xe5
movq qword [ebp - 0x1ae], xmm0
mov word [ebp - 0x1a6], 0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1b1], al
inc ecx
cmp ecx, 3
jb 0x4595c0
mov dword [0x55d590], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x1b1]
mov byte [ebp - 0x1ae], 0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x38], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x459600
sub ecx, edx
lea eax, [ebp - 0x1b1]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00402b80
mov eax, dword [ebp - 0x18]
or eax, 0x8000000
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x4c]
cmp dword [ebp - 0x38], 0x10
mov ecx, esi
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00486ff0
mov al, byte [eax]
mov byte [ebp - 4], 0x3a
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 0x1d], al
cmp ecx, 0x10
jb 0x45967e
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x459671
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
mov al, byte [ebp - 0x1d]
add esp, 8
test al, al
je 0x459770
xorps xmm0, xmm0
mov word [ebp - 0x1be], 0xfaf2
mov byte [ebp - 0x1bc], 0xe5
xor ecx, ecx
movq qword [ebp - 0x1bb], xmm0
mov word [ebp - 0x1b3], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1be], al
inc ecx
cmp ecx, 3
jb 0x4596b0
mov dword [0x55d590], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x1be]
mov byte [ebp - 0x1bb], 0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x38], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4596f0
sub ecx, edx
lea eax, [ebp - 0x1be]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00402b80
mov eax, dword [ebp - 0x24]
or eax, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x88], eax
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x4c]
cmp dword [ebp - 0x38], 0x10
mov ecx, esi
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00486ff0
push eax
lea ecx, [ebp - 0x80]
call fcn.0048e310
mov byte [ebp - 4], 0x3a
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x459770
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x459766
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x80]
mov ecx, esp
mov dword [ebp - 0x8c], esp
push eax
call fcn.00483010
sub esp, 0xc
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x38c]
mov byte [ebp - 0x1d], 1
mov ecx, esp
push eax
call fcn.00481da0
mov cl, byte [ebp - 0x1d]
mov byte [ebp - 4], 0x3a
call fcn.00419320
mov ecx, dword [ebp - 0x2c]
add esp, 0x24
test al, al
movzx ecx, cl
mov eax, 1
mov byte [ebp - 4], 0x39
cmovne ecx, eax
mov byte [ebp - 0x2c], cl
mov ecx, dword [ebp - 0x6c]
cmp ecx, 0x10
jb 0x4597f7
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4597ed
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov eax, dword [ebp - 0xdc]
movzx eax, byte [eax]
sub eax, 1
je 0x45981b
sub eax, 1
je 0x459812
inc dword [ebp - 0xd0]
jmp 0x459835
add dword [ebp - 0xd4], 0x10
jmp 0x459835
mov eax, dword [ebp - 0xd8]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], eax
call fcn.004844c0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0xdc]
call fcn.00480220
test al, al
jne 0x459560
lea ecx, [ebp - 0x34]
call fcn.004844c0
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0xd], 0
je 0x459410
mov ecx, dword [ebp - 0x1e4]
push dword [ecx + 4]
lea eax, [ebp - 0x1e4]
push eax
mov ecx, eax
call fcn.004890b0
push 0x38
push dword [ebp - 0x1e4]
call fcn.004fb0f1
mov edx, dword [ebp - 0x2c]
add esp, 8
test dl, dl
jne 0x459dbb
movzx eax, byte [ebx + 0x60]
sub eax, 0
je 0x459dbb
sub eax, 1
je 0x4598ba
sub eax, 1
jne 0x4598c8
mov eax, dword [ebx + 0x68]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 4
jmp 0x4598c0
mov eax, dword [ebx + 0x68]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x459dbb
mov byte [ebp - 4], 0x3e
push 0x38
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0
call fcn.004fae70
mov esi, dword [ebp - 0x24]
lea edx, [ebp - 0xf0]
add esp, 4
lea ecx, [ebx + 0x60]
or esi, 8
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x88], esi
call fcn.00496d90
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ecx]
mov dword [ebp - 0x34], eax
cmp byte [eax + 0xd], 0
jne 0x459d8c
cmp byte [ebp - 0x2c], 0
jne 0x459d83
lea ecx, [eax + 0x28]
mov dword [ebp - 0xc8], 0
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], connect
sub edx, 1
je 0x4599cc
sub edx, 1
je 0x4599bf
mov dword [ebp - 0xc0], connect
sub eax, 0
je 0x4599b3
sub eax, 1
je 0x4599cc
sub eax, 1
je 0x4599bf
mov dword [ebp - 0xc0], 0
jmp 0x4599d9
mov dword [ebp - 0xc0], 1
jmp 0x4599d9
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
jmp 0x4599d9
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], connect
sub edx, 1
je 0x459a58
sub edx, 1
je 0x459a4a
mov dword [ebp - 0x13c], connect
sub eax, 1
je 0x459a58
sub eax, 1
je 0x459a4a
mov dword [ebp - 0x13c], 1
jmp 0x459a63
mov eax, dword [ecx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x140], eax
jmp 0x459a63
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0xcc]
call fcn.00480220
test al, al
je 0x459d6e
nop dword [eax]
lea ecx, [ebp - 0xcc]
call fcn.00480330
cmp byte [ebp - 0x2c], 0
mov esi, eax
jne 0x459d6e
xorps xmm0, xmm0
mov dword [ebp - 0x70], 0
movups xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
mov byte [ebp - 4], 0x3f
xor ecx, ecx
mov word [ebp - 0x17d], 0xfaf2
mov byte [ebp - 0x17b], 0xe5
movq qword [ebp - 0x17a], xmm0
mov word [ebp - 0x172], 0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x17d], al
inc ecx
cmp ecx, 3
jb 0x459ae0
mov dword [0x55d590], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x17d]
mov byte [ebp - 0x17a], 0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x38], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x459b20
sub ecx, edx
lea eax, [ebp - 0x17d]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00402b80
mov eax, dword [ebp - 0x18]
or eax, 0x2000000
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x40
lea eax, [ebp - 0x4c]
cmp dword [ebp - 0x38], 0x10
mov ecx, esi
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00486ff0
mov al, byte [eax]
mov byte [ebp - 4], 0x3f
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 0x1d], al
cmp ecx, 0x10
jb 0x459b9e
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x459b91
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
mov al, byte [ebp - 0x1d]
add esp, 8
test al, al
je 0x459c8f
xorps xmm0, xmm0
mov word [ebp - 0x197], 0xfaf2
mov byte [ebp - 0x195], 0xe5
xor ecx, ecx
movq qword [ebp - 0x194], xmm0
mov word [ebp - 0x18c], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x197], al
inc ecx
cmp ecx, 3
jb 0x459bd0
mov dword [0x55d590], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x197]
mov byte [ebp - 0x194], 0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x38], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x459c10
sub ecx, edx
lea eax, [ebp - 0x197]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00402b80
mov eax, dword [ebp - 0x18]
or eax, 0x10000000
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x4c]
cmp dword [ebp - 0x38], 0x10
mov ecx, esi
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00486ff0
push eax
lea ecx, [ebp - 0x80]
call fcn.0048e310
mov byte [ebp - 4], 0x3f
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x459c8f
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x459c85
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x80]
mov ecx, esp
mov dword [ebp - 0x8c], esp
push eax
call fcn.00483010
sub esp, 0xc
mov byte [ebp - 4], 0x42
lea eax, [ebp - 0x38c]
mov byte [ebp - 0x1d], 1
mov ecx, esp
push eax
call fcn.00481da0
mov cl, byte [ebp - 0x1d]
mov byte [ebp - 4], 0x3f
call fcn.00419320
mov ecx, dword [ebp - 0x2c]
add esp, 0x24
test al, al
movzx ecx, cl
mov eax, 1
mov byte [ebp - 4], 0x3e
cmovne ecx, eax
mov byte [ebp - 0x2c], cl
mov ecx, dword [ebp - 0x6c]
cmp ecx, 0x10
jb 0x459d16
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x459d0c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov eax, dword [ebp - 0xcc]
movzx eax, byte [eax]
sub eax, 1
je 0x459d3a
sub eax, 1
je 0x459d31
inc dword [ebp - 0xc0]
jmp 0x459d54
add dword [ebp - 0xc4], 0x10
jmp 0x459d54
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], eax
call fcn.004844c0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0xcc]
call fcn.00480220
test al, al
jne 0x459a80
lea ecx, [ebp - 0x34]
call fcn.004844c0
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0xd], 0
je 0x459930
mov ecx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0x24]
push dword [ecx + 4]
lea eax, [ebp - 0xf0]
and esi, 0xfffffff7
push eax
mov ecx, eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x88], esi
call fcn.004890b0
push 0x38
push dword [ebp - 0xf0]
call fcn.004fb0f1
add esp, 8
jmp 0x459dbe
mov esi, dword [ebp - 0x24]
cmp byte [ebp - 0x2d], 0
je 0x45a5df
cmp byte [ebp - 0x2c], 0
jne 0x45a5df
movzx eax, byte [ebx + 0x70]
sub eax, 0
je 0x45a5df
sub eax, 1
je 0x459df6
sub eax, 1
jne 0x459e04
mov eax, dword [ebx + 0x78]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 4
jmp 0x459dfc
mov eax, dword [ebx + 0x78]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x45a5df
mov byte [ebp - 4], 0x43
push 0x38
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
call fcn.004fae70
add esp, 4
lea edx, [ebp - 0xe8]
or esi, 2
lea ecx, [ebx + 0x70]
mov dword [ebp - 0x24], esi
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0x88], esi
call fcn.00496d90
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ecx]
mov dword [ebp - 0x84], eax
cmp byte [eax + 0xd], 0
jne 0x45a5b8
nop dword [eax]
cmp byte [ebp - 0x2c], 0
jne 0x45a5af
mov dl, byte [eax + 0x28]
lea ecx, [eax + 0x28]
test dl, dl
je 0x45a594
movzx edx, dl
sub edx, 0
je 0x45a594
sub edx, 1
je 0x459eab
sub edx, 1
jne 0x459eb9
mov eax, dword [eax + 0x30]
mov edx, dword [eax + 4]
sub edx, dword [eax]
sar edx, 4
jmp 0x459eb1
mov eax, dword [eax + 0x30]
mov edx, dword [eax + 4]
test edx, edx
je 0x45a594
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], connect
sub edx, 1
je 0x459f48
sub edx, 1
je 0x459f3b
mov dword [ebp - 0x90], connect
sub eax, 0
je 0x459f2f
sub eax, 1
je 0x459f48
sub eax, 1
je 0x459f3b
mov dword [ebp - 0x90], 0
jmp 0x459f55
mov dword [ebp - 0x90], 1
jmp 0x459f55
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0x94], eax
jmp 0x459f55
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x98], eax
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], connect
sub edx, 1
je 0x459fd4
sub edx, 1
je 0x459fc6
mov dword [ebp - 0x11c], connect
sub eax, 1
je 0x459fd4
sub eax, 1
je 0x459fc6
mov dword [ebp - 0x11c], 1
jmp 0x459fdf
mov eax, dword [ecx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x120], eax
jmp 0x459fdf
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0x9c]
call fcn.00480220
test al, al
je 0x45a594
nop dword [eax]
lea ecx, [ebp - 0x9c]
call fcn.00480330
cmp byte [ebp - 0x2c], 0
mov esi, eax
jne 0x45a594
mov byte [ebp - 4], 0x44
push 0x38
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
call fcn.004fae70
add esp, 4
lea edx, [ebp - 0xf8]
mov ecx, esi
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x18]
or eax, 0x20000000
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00496d90
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx]
mov dword [ebp - 0x34], eax
cmp byte [eax + 0xd], 0
jne 0x45a509
nop dword [eax]
cmp byte [ebp - 0x2c], 0
jne 0x45a503
lea ecx, [eax + 0x28]
movzx eax, byte [ecx]
sub eax, 0
je 0x45a4ee
sub eax, 1
je 0x45a0b0
sub eax, 1
jne 0x45a0be
mov eax, dword [ecx + 8]
mov edx, dword [eax + 4]
sub edx, dword [eax]
sar edx, 4
jmp 0x45a0b6
mov eax, dword [ecx + 8]
mov edx, dword [eax + 4]
test edx, edx
je 0x45a4ee
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], connect
sub edx, 1
je 0x45a14d
sub edx, 1
je 0x45a140
mov dword [ebp - 0xb0], connect
sub eax, 0
je 0x45a134
sub eax, 1
je 0x45a14d
sub eax, 1
je 0x45a140
mov dword [ebp - 0xb0], 0
jmp 0x45a15a
mov dword [ebp - 0xb0], 1
jmp 0x45a15a
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0xb4], eax
jmp 0x45a15a
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], connect
sub edx, 1
je 0x45a1d9
sub edx, 1
je 0x45a1cb
mov dword [ebp - 0x12c], connect
sub eax, 1
je 0x45a1d9
sub eax, 1
je 0x45a1cb
mov dword [ebp - 0x12c], 1
jmp 0x45a1e4
mov eax, dword [ecx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x130], eax
jmp 0x45a1e4
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0xbc]
call fcn.00480220
test al, al
je 0x45a4ee
nop
lea ecx, [ebp - 0xbc]
call fcn.00480330
cmp byte [ebp - 0x2c], 0
mov esi, eax
jne 0x45a4ee
xorps xmm0, xmm0
mov dword [ebp - 0x70], 0
movups xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
mov byte [ebp - 4], 0x45
xor ecx, ecx
mov word [ebp - 0x1a4], 0xfaf2
mov byte [ebp - 0x1a2], 0xe5
movq qword [ebp - 0x1a1], xmm0
mov word [ebp - 0x199], 0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x1a4], al
inc ecx
cmp ecx, 3
jb 0x45a260
mov dword [0x55d590], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x1a4]
mov byte [ebp - 0x1a1], 0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x38], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45a2a0
sub ecx, edx
lea eax, [ebp - 0x1a4]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00402b80
mov eax, dword [ebp - 0x18]
or eax, 0x1000000
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x46
lea eax, [ebp - 0x4c]
cmp dword [ebp - 0x38], 0x10
mov ecx, esi
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00486ff0
mov al, byte [eax]
mov byte [ebp - 4], 0x45
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 0x2d], al
cmp ecx, 0x10
jb 0x45a31e
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45a311
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
mov al, byte [ebp - 0x2d]
add esp, 8
test al, al
je 0x45a40f
xorps xmm0, xmm0
mov word [ebp - 0x18a], 0xfaf2
mov byte [ebp - 0x188], 0xe5
xor ecx, ecx
movq qword [ebp - 0x187], xmm0
mov word [ebp - 0x17f], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x18a], al
inc ecx
cmp ecx, 3
jb 0x45a350
mov dword [0x55d590], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x18a]
mov byte [ebp - 0x187], 0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x38], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45a390
sub ecx, edx
lea eax, [ebp - 0x18a]
push ecx
push eax
lea ecx, [ebp - 0x4c]
call fcn.00402b80
mov eax, dword [ebp - 0x18]
or eax, 0x4000000
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x47
lea eax, [ebp - 0x4c]
cmp dword [ebp - 0x38], 0x10
mov ecx, esi
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00486ff0
push eax
lea ecx, [ebp - 0x80]
call fcn.0048e310
mov byte [ebp - 4], 0x45
mov ecx, dword [ebp - 0x38]
cmp ecx, 0x10
jb 0x45a40f
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45a405
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x80]
mov ecx, esp
mov dword [ebp - 0x8c], esp
push eax
call fcn.00483010
sub esp, 0xc
mov byte [ebp - 4], 0x48
lea eax, [ebp - 0x38c]
mov byte [ebp - 0x2d], 1
mov ecx, esp
push eax
call fcn.00481da0
mov cl, byte [ebp - 0x2d]
mov byte [ebp - 4], 0x45
call fcn.00419320
mov ecx, dword [ebp - 0x2c]
add esp, 0x24
test al, al
movzx ecx, cl
mov eax, 1
mov byte [ebp - 4], 0x44
cmovne ecx, eax
mov byte [ebp - 0x2c], cl
mov ecx, dword [ebp - 0x6c]
cmp ecx, 0x10
jb 0x45a496
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45a48c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov eax, dword [ebp - 0xbc]
movzx eax, byte [eax]
sub eax, 1
je 0x45a4ba
sub eax, 1
je 0x45a4b1
inc dword [ebp - 0xb0]
jmp 0x45a4d4
add dword [ebp - 0xb4], 0x10
jmp 0x45a4d4
mov eax, dword [ebp - 0xb8]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], eax
call fcn.004844c0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0xbc]
call fcn.00480220
test al, al
jne 0x45a200
lea ecx, [ebp - 0x34]
call fcn.004844c0
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0xd], 0
je 0x45a080
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x18]
and eax, 0xdfffffff
mov byte [ebp - 4], 0x43
push dword [ecx + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0xf8]
push eax
mov ecx, eax
call fcn.004890b0
push 0x38
push dword [ebp - 0xf8]
call fcn.004fb0f1
mov eax, dword [ebp - 0x9c]
add esp, 8
movzx eax, byte [eax]
sub eax, 1
je 0x45a560
sub eax, 1
je 0x45a557
inc dword [ebp - 0x90]
jmp 0x45a57a
add dword [ebp - 0x94], 0x10
jmp 0x45a57a
mov eax, dword [ebp - 0x98]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], eax
call fcn.004844c0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x128]
push eax
lea ecx, [ebp - 0x9c]
call fcn.00480220
test al, al
jne 0x45a000
lea ecx, [ebp - 0x84]
call fcn.004844c0
mov eax, dword [ebp - 0x84]
cmp byte [eax + 0xd], 0
je 0x459e70
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0x24]
push dword [ecx + 4]
lea eax, [ebp - 0xe8]
and esi, 0xfffffffd
push eax
mov ecx, eax
mov dword [ebp - 0x24], esi
call fcn.004890b0
push 0x38
push dword [ebp - 0xe8]
call fcn.004fb0f1
add esp, 8
lea ecx, [ebp - 0x38c]
call fcn.00485200
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x15c]
cmp ecx, 0x10
jb 0x45a628
mov edx, dword [ebp - 0x170]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45a61e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
lea ecx, [ebp - 0x3e0]
mov byte [ebp - 4], 0x1e
call fcn.00480b00
mov edi, dword [ebp - 0x3b0]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x3b4]
mov ecx, edi
inc dword [ebp - 0xe0]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0xe0], eax
jb 0x458460
sub edi, esi
mov eax, 0x2aaaaaab
imul edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x45a689
cmp byte [ebp - 0x2c], 0
je 0x45b649
xorps xmm0, xmm0
mov dword [ebp - 0x229], 0xeff1eda9
movq qword [ebp - 0x225], xmm0
xor ecx, ecx
mov word [ebp - 0x21d], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x229], al
inc ecx
cmp ecx, 4
jb 0x45a6b0
lea eax, [ebp - 0x229]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [ebp - 0x584]
mov byte [ebp - 0x225], 0
call fcn.00402ab0
mov edi, dword [ebp - 0x24]
or edi, 0x4000
lea ecx, [ebp - 0x584]
mov byte [ebp - 4], 0x49
call fcn.00402b50
push eax
lea ecx, [ebp - 0x260]
call fcn.00402ab0
lea ecx, [ebp - 0x584]
mov byte [ebp - 4], 0x4b
call fcn.00402a10
xorps xmm0, xmm0
mov byte [ebp - 0x367], 0xa9
movq qword [ebp - 0x366], xmm0
xor ecx, ecx
mov word [ebp - 0x35e], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x367], al
inc ecx
cmp ecx, 1
jb 0x45a730
lea eax, [ebp - 0x367]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x48c]
mov byte [ebp - 0x366], 0
call fcn.00402ab0
or edi, 0x800
sub esp, 0x18
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x48c]
mov dword [ebp - 0x8c], esp
mov esi, esp
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00402ab0
sub esp, 0x18
mov byte [ebp - 4], 0x4d
lea eax, [ebp - 0x410]
mov ecx, esp
push eax
call fcn.00483010
lea ecx, [ebp - 0x3ec]
mov byte [ebp - 4], 0x4c
call fcn.0040e070
add esp, 0x30
lea ecx, [ebp - 0x48c]
mov byte [ebp - 4], 0x4f
call fcn.00402a10
lea ecx, [ebp - 0x3ec]
call fcn.00481ca0
test eax, eax
je 0x45b340
call fcn.00481ca0
dec eax
push eax
call fcn.00481c80
push eax
lea ecx, [ebp - 0x260]
call fcn.00482e60
xorps xmm0, xmm0
mov word [ebp - 0x2ef], 0xf0e2
mov byte [ebp - 0x2ed], 0xec
xor ecx, ecx
movq qword [ebp - 0x2ec], xmm0
mov word [ebp - 0x2e4], 0
nop
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x2ef], al
inc ecx
cmp ecx, 3
jb 0x45a810
lea eax, [ebp - 0x2ef]
mov dword [0x55d590], ecx
push eax
lea ecx, [ebp - 0x3cc]
mov byte [ebp - 0x2ec], 0
call fcn.00402ab0
or edi, 0x200000
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x3cc]
mov esi, dword [ebp - 0x18]
or esi, 1
mov dword [ebp - 0x1c], esi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x114]
call fcn.00402ab0
mov dword [ebp - 4], 0x51
lea ecx, [ebp - 0x260]
or esi, 2
mov edx, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
call fcn.004876e0
test al, al
je 0x45afcf
xorps xmm0, xmm0
mov word [ebp - 0x2e2], 0xfbea
mov byte [ebp - 0x2e0], 0xe0
xor ecx, ecx
movq qword [ebp - 0x2df], xmm0
mov word [ebp - 0x2d7], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x2e2], al
inc ecx
cmp ecx, 3
jb 0x45a8b5
lea eax, [ebp - 0x2e2]
mov dword [0x55d590], ecx
push eax
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 0x2df], 0
call fcn.00402ab0
or edi, 0x1000000
mov dword [ebp - 4], 0x52
lea ecx, [ebp - 0x4a4]
or esi, 4
mov dword [ebp - 0x1c], esi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x56c]
call fcn.00402ab0
mov dword [ebp - 4], 0x53
lea ecx, [ebp - 0x260]
or esi, 8
mov edx, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
call fcn.004876e0
test al, al
je 0x45afcf
xorps xmm0, xmm0
mov word [ebp - 0x2d5], 0xebf4
mov byte [ebp - 0x2d3], 0xfb
xor ecx, ecx
movq qword [ebp - 0x2d2], xmm0
mov word [ebp - 0x2ca], 0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x2d5], al
inc ecx
cmp ecx, 3
jb 0x45a960
lea eax, [ebp - 0x2d5]
mov dword [0x55d590], ecx
push eax
lea ecx, [ebp - 0x428]
mov byte [ebp - 0x2d2], 0
call fcn.00402ab0
or edi, 0x4000000
mov dword [ebp - 4], 0x54
lea ecx, [ebp - 0x428]
or esi, 0x10
mov dword [ebp - 0x1c], esi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x554]
call fcn.00402ab0
mov dword [ebp - 4], 0x55
lea ecx, [ebp - 0x260]
or esi, 0x20
mov edx, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
call fcn.004876e0
test al, al
je 0x45afcf
xorps xmm0, xmm0
mov word [ebp - 0x2c8], 0xf0f3
mov byte [ebp - 0x2c6], 0xfd
xor ecx, ecx
movq qword [ebp - 0x2c5], xmm0
mov word [ebp - 0x2bd], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x2c8], al
inc ecx
cmp ecx, 3
jb 0x45aa05
lea eax, [ebp - 0x2c8]
mov dword [0x55d590], ecx
push eax
lea ecx, [ebp - 0x5cc]
mov byte [ebp - 0x2c5], 0
call fcn.00402ab0
or dword [ebp - 0x50], 1
mov dword [ebp - 4], 0x56
lea ecx, [ebp - 0x5cc]
or esi, 0x40
mov dword [ebp - 0x1c], esi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x53c]
call fcn.00402ab0
mov dword [ebp - 4], 0x57
lea ecx, [ebp - 0x260]
or esi, 0x80
mov edx, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
call fcn.004876e0
test al, al
je 0x45afcf
xorps xmm0, xmm0
mov word [ebp - 0x2bb], 0xe7e3
mov byte [ebp - 0x2b9], 0xea
xor ecx, ecx
movq qword [ebp - 0x2b8], xmm0
mov word [ebp - 0x2b0], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x2bb], al
inc ecx
cmp ecx, 3
jb 0x45aab0
lea eax, [ebp - 0x2bb]
mov dword [0x55d590], ecx
push eax
lea ecx, [ebp - 0x5e4]
mov byte [ebp - 0x2b8], 0
call fcn.00402ab0
or dword [ebp - 0x50], 2
mov dword [ebp - 4], 0x58
lea ecx, [ebp - 0x5e4]
or esi, 0x100
mov dword [ebp - 0x1c], esi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x68c]
call fcn.00402ab0
mov dword [ebp - 4], 0x59
lea ecx, [ebp - 0x260]
or esi, 0x200
mov edx, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
call fcn.004876e0
test al, al
je 0x45afcf
xorps xmm0, xmm0
mov dword [ebp - 0x237], 0xf2eae7e3
movq qword [ebp - 0x233], xmm0
xor ecx, ecx
mov word [ebp - 0x22b], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x237], al
inc ecx
cmp ecx, 4
jb 0x45ab53
lea eax, [ebp - 0x237]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [ebp - 0x5b4]
mov byte [ebp - 0x233], 0
call fcn.00402ab0
or dword [ebp - 0x50], 4
mov dword [ebp - 4], 0x5a
lea ecx, [ebp - 0x5b4]
or esi, 0x400
mov dword [ebp - 0x1c], esi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x674]
call fcn.00402ab0
mov dword [ebp - 4], 0x5b
lea ecx, [ebp - 0x260]
or esi, 0x800
mov edx, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
call fcn.004876e0
test al, al
je 0x45afcf
xorps xmm0, xmm0
mov word [ebp - 0x2ae], 0xe6f7
mov byte [ebp - 0x2ac], 0xee
xor ecx, ecx
movq qword [ebp - 0x2ab], xmm0
mov word [ebp - 0x2a3], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x2ae], al
inc ecx
cmp ecx, 3
jb 0x45ac00
lea eax, [ebp - 0x2ae]
mov dword [0x55d590], ecx
push eax
lea ecx, [ebp - 0x59c]
mov byte [ebp - 0x2ab], 0
call fcn.00402ab0
or dword [ebp - 0x50], 8
mov dword [ebp - 4], 0x5c
lea ecx, [ebp - 0x59c]
or esi, 0x1000
mov dword [ebp - 0x1c], esi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x65c]
call fcn.00402ab0
mov dword [ebp - 4], 0x5d
lea ecx, [ebp - 0x260]
or esi, 0x2000
mov edx, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
call fcn.004876e0
test al, al
je 0x45afcf
xorps xmm0, xmm0
mov word [ebp - 0x2a1], 0xf8ed
mov byte [ebp - 0x29f], 0xee
xor ecx, ecx
movq qword [ebp - 0x29e], xmm0
mov word [ebp - 0x296], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x2a1], al
inc ecx
cmp ecx, 3
jb 0x45acb0
lea eax, [ebp - 0x2a1]
mov dword [0x55d590], ecx
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 0x29e], 0
call fcn.00402ab0
or dword [ebp - 0x50], 0x10
mov dword [ebp - 4], 0x5e
lea ecx, [ebp - 0x68]
or esi, 0x4000
mov dword [ebp - 0x1c], esi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x644]
call fcn.00402ab0
mov dword [ebp - 4], 0x5f
lea ecx, [ebp - 0x260]
or esi, 0x8000
mov edx, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
call fcn.004876e0
test al, al
je 0x45afcf
xorps xmm0, xmm0
mov dword [ebp - 0x245], 0xedecf8ed
movq qword [ebp - 0x241], xmm0
xor ecx, ecx
mov word [ebp - 0x239], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x245], al
inc ecx
cmp ecx, 4
jb 0x45ad50
lea eax, [ebp - 0x245]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 0x241], 0
call fcn.00402ab0
or dword [ebp - 0x50], 0x20
mov dword [ebp - 4], 0x60
lea ecx, [ebp - 0x80]
or esi, 0x10000
mov dword [ebp - 0x1c], esi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x6a4]
call fcn.00402ab0
mov dword [ebp - 4], 0x61
lea ecx, [ebp - 0x260]
or esi, 0x20000
mov edx, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
call fcn.004876e0
test al, al
je 0x45afcf
xorps xmm0, xmm0
mov word [ebp - 0x294], 0xe5e5
mov byte [ebp - 0x292], 0xf9
xor ecx, ecx
movq qword [ebp - 0x291], xmm0
mov word [ebp - 0x289], 0
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x294], al
inc ecx
cmp ecx, 3
jb 0x45adf3
lea eax, [ebp - 0x294]
mov dword [0x55d590], ecx
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x291], 0
call fcn.00402ab0
or dword [ebp - 0x50], 0x40
mov dword [ebp - 4], 0x62
lea ecx, [ebp - 0x4c]
or esi, 0x40000
mov dword [ebp - 0x1c], esi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x62c]
call fcn.00402ab0
mov dword [ebp - 4], 0x63
lea ecx, [ebp - 0x260]
or esi, 0x80000
mov edx, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
call fcn.004876e0
test al, al
je 0x45afcf
xorps xmm0, xmm0
mov word [ebp - 0x287], 0xe9e5
mov byte [ebp - 0x285], 0xfd
xor ecx, ecx
movq qword [ebp - 0x284], xmm0
mov word [ebp - 0x27c], 0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x287], al
inc ecx
cmp ecx, 3
jb 0x45aea0
lea eax, [ebp - 0x287]
mov dword [0x55d590], ecx
push eax
lea ecx, [ebp - 0x170]
mov byte [ebp - 0x284], 0
call fcn.00402ab0
or dword [ebp - 0x50], 0x80
mov dword [ebp - 4], 0x64
lea ecx, [ebp - 0x170]
or esi, 0x100000
mov dword [ebp - 0x1c], esi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x614]
call fcn.00402ab0
mov dword [ebp - 4], 0x65
lea ecx, [ebp - 0x260]
or esi, 0x200000
mov edx, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
call fcn.004876e0
test al, al
je 0x45afcf
xorps xmm0, xmm0
mov word [ebp - 0x26d], 0xeaf1
mov byte [ebp - 0x26b], 0xfa
xor ecx, ecx
movq qword [ebp - 0x26a], xmm0
mov word [ebp - 0x262], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x26d], al
inc ecx
cmp ecx, 3
jb 0x45af50
lea eax, [ebp - 0x26d]
mov dword [0x55d590], ecx
push eax
lea ecx, [ebp - 0x474]
mov byte [ebp - 0x26a], 0
call fcn.00402ab0
or dword [ebp - 0x50], 0x100
mov dword [ebp - 4], 0x66
lea ecx, [ebp - 0x474]
or esi, 0x400000
mov dword [ebp - 0x1c], esi
call fcn.00402b50
push eax
lea ecx, [ebp - 0x5fc]
call fcn.00402ab0
or esi, 0x800000
lea ecx, [ebp - 0x260]
mov edx, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
call fcn.004876e0
mov byte [ebp - 0x11], 1
test al, al
jne 0x45afd3
mov byte [ebp - 0x11], 0
mov eax, dword [ebp - 0x18]
test eax, 0x800000
je 0x45aff6
and eax, 0xff7fffff
lea ecx, [ebp - 0x5fc]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test eax, 0x400000
je 0x45b016
and eax, 0xffbfffff
lea ecx, [ebp - 0x474]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test eax, 0x200000
je 0x45b036
and eax, 0xffdfffff
lea ecx, [ebp - 0x614]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test eax, 0x100000
je 0x45b056
and eax, 0xffefffff
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test eax, 0x80000
je 0x45b076
and eax, 0xfff7ffff
lea ecx, [ebp - 0x62c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test eax, 0x40000
je 0x45b093
and eax, 0xfffbffff
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test eax, 0x20000
je 0x45b0b3
and eax, 0xfffdffff
lea ecx, [ebp - 0x6a4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test eax, 0x10000
je 0x45b0d0
and eax, 0xfffeffff
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test eax, 0x8000
je 0x45b0f0
and eax, 0xffff7fff
lea ecx, [ebp - 0x644]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test eax, 0x4000
je 0x45b10d
and eax, 0xffffbfff
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test eax, 0x2000
je 0x45b12d
and eax, 0xffffdfff
lea ecx, [ebp - 0x65c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test eax, 0x1000
je 0x45b14d
and eax, 0xffffefff
lea ecx, [ebp - 0x59c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test eax, 0x800
je 0x45b16d
and eax, 0xfffff7ff
lea ecx, [ebp - 0x674]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test eax, 0x400
je 0x45b18d
and eax, 0xfffffbff
lea ecx, [ebp - 0x5b4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test eax, 0x200
je 0x45b1ad
and eax, 0xfffffdff
lea ecx, [ebp - 0x68c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test eax, 0x100
je 0x45b1cd
and eax, 0xfffffeff
lea ecx, [ebp - 0x5e4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test al, al
jns 0x45b1ea
and eax, 0xffffff7f
lea ecx, [ebp - 0x53c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test al, 0x40
je 0x45b205
and eax, 0xffffffbf
lea ecx, [ebp - 0x5cc]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test al, 0x20
je 0x45b220
and eax, 0xffffffdf
lea ecx, [ebp - 0x554]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test al, 0x10
je 0x45b23b
and eax, 0xffffffef
lea ecx, [ebp - 0x428]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test al, 8
je 0x45b256
and eax, 0xfffffff7
lea ecx, [ebp - 0x56c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test al, 4
je 0x45b271
and eax, 0xfffffffb
lea ecx, [ebp - 0x4a4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
test al, 2
je 0x45b28c
and eax, 0xfffffffd
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0x4f
test al, 1
je 0x45b2ab
and eax, 0xfffffffe
lea ecx, [ebp - 0x3cc]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.00402a10
cmp byte [ebp - 0x11], 0
je 0x45b340
xorps xmm0, xmm0
mov word [ebp - 0x27a], 0xf0e2
mov byte [ebp - 0x278], 0xec
xor ecx, ecx
movq qword [ebp - 0x277], xmm0
mov word [ebp - 0x26f], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x27a], al
inc ecx
cmp ecx, 3
jb 0x45b2e0
lea eax, [ebp - 0x27a]
mov dword [0x55d590], ecx
push eax
lea ecx, [ebp - 0x3cc]
mov byte [ebp - 0x277], 0
call fcn.00402ab0
or edi, 0x2000000
lea ecx, [ebp - 0x3cc]
mov byte [ebp - 4], 0x67
call fcn.00402b50
push eax
lea ecx, [ebp - 0x260]
call fcn.00482e30
lea ecx, [ebp - 0x3cc]
mov byte [ebp - 4], 0x4f
call fcn.00402a10
xorps xmm0, xmm0
mov byte [ebp - 0x372], 0xa9
movq qword [ebp - 0x371], xmm0
xor ecx, ecx
mov word [ebp - 0x369], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x372], al
inc ecx
cmp ecx, 1
jb 0x45b360
lea eax, [ebp - 0x372]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 0x371], 0
call fcn.00402ab0
or edi, 0x8000
mov dword [ebp - 0x24], edi
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 4], 0x68
call fcn.00402b50
mov edx, 0x14
lea ecx, [ebp - 0x53c]
mov esi, eax
call fcn.0040e3d0
mov edi, eax
mov byte [ebp - 4], 0x69
xorps xmm0, xmm0
mov byte [ebp - 0x37d], 0xdb
xor ecx, ecx
movq qword [ebp - 0x37c], xmm0
mov word [ebp - 0x374], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x37d], al
inc ecx
cmp ecx, 1
jb 0x45b3e0
lea eax, [ebp - 0x37d]
mov dword [0x55d620], ecx
push eax
lea ecx, [ebp - 0x3cc]
mov byte [ebp - 0x37c], 0
call fcn.00402ab0
or dword [ebp - 0x24], 0x10000
lea ecx, [ebp - 0x3cc]
mov byte [ebp - 4], 0x6a
call fcn.00402b50
push eax
lea edx, [ebx + 0x80]
lea ecx, [ebp - 0x554]
call fcn.00486d20
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x6b
lea ecx, [ebp - 0x56c]
call fcn.00486fa0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x114]
call fcn.00486d80
add esp, 4
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x6d
push ecx
mov edx, eax
lea ecx, [ebp - 0x50c]
call fcn.00486f40
add esp, 4
lea ecx, [ebp - 0x114]
call fcn.00402a10
lea ecx, [ebp - 0x56c]
call fcn.00402a10
lea ecx, [ebp - 0x554]
call fcn.00402a10
lea ecx, [ebp - 0x3cc]
call fcn.00402a10
lea ecx, [ebp - 0x53c]
call fcn.00402a10
lea ecx, [ebp - 0x4a4]
mov byte [ebp - 4], 0x74
call fcn.00402a10
movaps xmm0, xmmword [0x546d50]
xor ecx, ecx
mov word [ebp - 0x62], 0xfcef
movups xmmword [ebp - 0x60], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x62], al
inc ecx
cmp ecx, 8
jb 0x45b4e0
lea eax, [ebp - 0x62]
mov dword [0x55d624], ecx
push eax
lea ecx, [ebp - 0x428]
mov byte [ebp - 0x5a], 0
call fcn.00402ab0
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0x428]
or edi, 0x20000
mov dword [ebp - 0x24], edi
call fcn.00402b50
lea ecx, [ebp - 0x410]
mov esi, eax
call fcn.00402b50
push esi
push eax
call fcn.004fc740
add esp, 8
lea ecx, [ebp - 0x428]
test eax, eax
setne byte [ebp - 0x1d4]
call fcn.00402a10
lea ecx, [ebp - 0x50c]
call fcn.00402b50
lea ecx, [ebp - 0x410]
mov esi, eax
call fcn.00402b50
sub esp, 8
mov edx, esi
mov ecx, eax
push dword [ebp - 0x1d4]
call fcn.0049e4b0
add esp, 0xc
test al, al
je 0x45b628
lea ecx, [ebp - 0x50c]
call fcn.00402b50
xorps xmm0, xmm0
mov dword [ebp - 0x21b], 0xe4ecf8e8
mov esi, eax
movq qword [ebp - 0x217], xmm0
mov word [ebp - 0x20f], 0
xor ecx, ecx
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x21b], al
inc ecx
cmp ecx, 4
jb 0x45b5b0
lea eax, [ebp - 0x21b]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [ebp - 0x428]
mov byte [ebp - 0x217], 0
call fcn.00402ab0
or edi, 0x400000
lea ecx, [ebp - 0x428]
mov dword [ebp - 0x24], edi
call fcn.00402b50
push 1
push 0
push 0
push esi
push eax
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
lea ecx, [ebp - 0x428]
call fcn.00402a10
sub esp, 0x18
lea eax, [ebp - 0x524]
mov ecx, esp
push eax
call fcn.00483010
call fcn.004262a0
add esp, 0x18
lea ecx, [ebp - 0x50c]
call fcn.00402a10
lea ecx, [ebp - 0x3ec]
call fcn.00485200
lea ecx, [ebp - 0x260]
call fcn.00402a10
lea ecx, [ebp - 0x3b4]
call fcn.00485200
lea ecx, [ebp - 0x3f8]
call fcn.00485200
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x3fc]
cmp ecx, 0x10
jb 0x45b69d
mov edx, dword [ebp - 0x410]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45b693
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x390]
mov dword [ebp - 0x400], 0
mov dword [ebp - 0x3fc], 0xf
mov byte [ebp - 0x410], 0
cmp ecx, 0x10
jb 0x45b6f6
mov edx, dword [ebp - 0x3a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45b6ec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x43c]
mov dword [ebp - 0x394], 0
mov dword [ebp - 0x390], 0xf
mov byte [ebp - 0x3a4], 0
cmp ecx, 0x10
jb 0x45b74f
mov edx, dword [ebp - 0x450]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45b745
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x510]
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0xf
mov byte [ebp - 0x450], 0
cmp ecx, 0x10
jb 0x45b7a8
mov edx, dword [ebp - 0x524]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45b79e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45b85a
push ecx
push edx
call fcn.004fb0f1
add esp, 8
mov eax, dword [ebp - 0x310]
movzx eax, byte [eax]
sub eax, 1
je 0x45b7cc
sub eax, 1
je 0x45b7c3
inc dword [ebp - 0x304]
jmp 0x45b7e6
add dword [ebp - 0x308], 0x10
jmp 0x45b7e6
mov eax, dword [ebp - 0x30c]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], eax
call fcn.004844c0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30c], eax
lea eax, [ebp - 0x4d4]
push eax
lea ecx, [ebp - 0x310]
call fcn.00480220
test al, al
je 0x45b804
mov edi, dword [ebp - 0x24]
jmp 0x457ec0
lea ecx, [ebx + 8]
call fcn.00402a10
lea ecx, [ebx + 0x20]
call fcn.00480b00
lea ecx, [ebx + 0x30]
call fcn.00480b00
lea ecx, [ebx + 0x40]
call fcn.00480b00
lea ecx, [ebx + 0x50]
call fcn.00480b00
lea ecx, [ebx + 0x60]
call fcn.00480b00
lea ecx, [ebx + 0x70]
call fcn.00480b00
lea ecx, [ebx + 0x80]
call fcn.00402a10
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