Function at 0x42e640
Capabilities:
Authenticate hmac
Encode data using xor
Get common file path
Inspect section memory permissions

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 0x5067e1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x350
push esi
push edi
xor edi, edi
mov byte [ebp - 0x65], dl
mov dword [ebp - 0x140], ecx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
push 0x104
lea eax, [ebp - 0x360]
mov dword [ebp - 4], 3
push edi
push eax
call fcn.004df440
add esp, 0xc
lea eax, [ebp - 0x360]
push eax
movzx eax, byte [ebp - 0x65]
xor eax, 1
push edi
push edi
lea eax, [eax*2 + 0x1a]
push eax
push edi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea eax, [ebx + 0x40]
push eax
lea edx, [ebp - 0x360]
lea ecx, [ebp - 0x15c]
call fcn.00469e60
add esp, 4
xor esi, esi
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
cmp byte [ebx + 0xc], 0
mov byte [ebp - 4], 5
jne 0x42eff0
sub esp, 0x18
lea eax, [ebp - 0x15c]
mov ecx, esp
push eax
call fcn.00466110
push esi
mov dl, 1
lea ecx, [ebp - 0x58]
call fcn.00421160
add esp, 0x1c
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 6
call fcn.00464d50
test eax, eax
jne 0x42e740
call fcn.00468250
lea ecx, [ebp - 0x64]
call fcn.00468250
lea ecx, [ebp - 0x15c]
call fcn.004026c0
jmp 0x43046f
mov ecx, dword [ebp - 0x54]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x58]
imul ecx
mov dword [ebp - 0x34], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x42efe2
mov dword [ebp - 0x18], 0
nop dword [eax + eax]
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], 0xeeeef9e5
mov dword [ebp - 0x44], 0x94f1fbef
mov word [ebp - 0x40], 0x100
call fcn.0040f320
movaps xmm0, xmmword [0x527b10]
lea ecx, [ebp - 0xb7]
mov dword [ebp - 0x4c], eax
movups xmmword [ebp - 0xb7], xmm0
mov dword [ebp - 0xa7], 0xb8bfaf9a
mov dword [ebp - 0xa3], 0xa3a8a0a4
mov word [ebp - 0x9f], 0x8d
mov byte [ebp - 0x9d], 1
call fcn.00416750
push dword [ebp - 0x34]
lea ecx, [ebp - 0x58]
mov edi, eax
call fcn.00464d30
lea ecx, [ebp - 0x2d]
mov word [ebp - 0x2d], 0xe5
mov esi, eax
mov byte [ebp - 0x2b], 1
call fcn.0040a410
push eax
lea edx, [ebp - 0x15c]
lea ecx, [ebp - 0xe4]
call fcn.00469da0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1a4]
call fcn.00469fc0
add esp, 4
push edi
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.00465e20
mov esi, dword [ebp - 0x14]
xorps xmm0, xmm0
movups xmmword [ebp - 0x130], xmm0
mov dword [ebp - 0x120], 0
or esi, 0x10000000
mov dword [ebp - 0x11c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x130], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x120], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebx + 0x10]
mov byte [ebp - 4], 9
push eax
lea edx, [ebp - 0x130]
lea ecx, [ebp - 0x118]
call fcn.00469fc0
add esp, 4
push dword [ebp - 0x4c]
mov ecx, eax
mov byte [ebp - 4], 0xa
call fcn.00465e20
or esi, 0x20000000
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x174], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x164], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x104]
cmp ecx, 0x10
jb 0x42e908
mov edx, dword [ebp - 0x118]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e8fe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0xf
mov byte [ebp - 0x118], 0
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x11c]
cmp ecx, 0x10
jb 0x42e961
mov edx, dword [ebp - 0x130]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e957
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0xf
mov byte [ebp - 0x130], 0
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x190]
cmp ecx, 0x10
jb 0x42e9ba
mov edx, dword [ebp - 0x1a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42e9b0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 0xf
mov byte [ebp - 0x1a4], 0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0xd0]
cmp ecx, 0x10
jb 0x42ea13
mov edx, dword [ebp - 0xe4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42ea09
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov dword [ebp - 0xd4], 0
xor ecx, ecx
mov dword [ebp - 0xd0], 0xf
mov byte [ebp - 0xe4], 0
mov dword [ebp - 0x3e], 0xeeeef9e5
mov dword [ebp - 0x3a], 0x94f1fbef
mov word [ebp - 0x36], 0x100
mov al, cl
sub al, 0x47
xor byte [ebp + ecx - 0x3e], al
inc ecx
cmp ecx, 8
jb 0x42ea44
movaps xmm0, xmmword [0x526970]
xor ecx, ecx
mov byte [ebp - 0x35], 0
movups xmmword [ebp - 0x81], xmm0
mov dword [ebp - 0x71], 0xb8ae99e9
mov dword [ebp - 0x6d], 0xb7a1a7b9
mov dword [ebp - 0x69], 0x1008ea2
nop dword [eax + eax]
mov al, cl
sub al, 0x47
xor byte [ebp + ecx - 0x81], al
inc ecx
cmp ecx, 0x1a
jb 0x42ea80
mov edi, dword [ebp - 0x58]
lea ecx, [ebp - 0x27]
add edi, dword [ebp - 0x18]
lea edx, [ecx + 1]
mov byte [ebp - 0x66], 0
mov word [ebp - 0x27], 0x5c
mov byte [ebp - 0x25], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42eab0
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x14c]
sub eax, edx
cmp eax, ecx
jb 0x430580
cmp dword [ebp - 0x148], 0x10
lea eax, [ebp - 0x15c]
push ecx
cmovae eax, dword [ebp - 0x15c]
lea ecx, [ebp - 0x27]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x100]
call fcn.0046db90
or esi, 0x40000000
push edi
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x10
call fcn.00465e90
mov dword [ebp - 0x1ac], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1bc], xmm0
mov dword [ebp - 0x1a8], 0
or esi, 0x80000000
movups xmm0, xmmword [eax]
mov dword [ebp - 0x14], esi
movups xmmword [ebp - 0x1bc], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1ac], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x81]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x1bc]
call fcn.00465e20
mov dword [ebp - 0x8c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x88], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x9c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x8c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x12
lea edx, [ebx + 0x10]
cmp dword [ebx + 0x24], 0x10
mov ecx, dword [ebp - 0x8c]
cmovae edx, dword [ebx + 0x10]
mov eax, dword [ebp - 0x88]
mov edi, dword [ebx + 0x20]
sub eax, ecx
mov dword [ebp - 0x4c], ecx
push edi
push edx
cmp edi, eax
ja 0x42ec1d
cmp dword [ebp - 0x88], 0x10
lea esi, [ebp - 0x9c]
lea eax, [edi + ecx]
cmovae esi, dword [ebp - 0x9c]
mov dword [ebp - 0x8c], eax
lea eax, [esi + ecx]
push eax
call fcn.004deec0
mov ecx, dword [ebp - 0x4c]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [ebp - 0x9c]
jmp 0x42ec36
mov byte [ebp - 0x144], 0
lea ecx, [ebp - 0x9c]
push dword [ebp - 0x144]
push edi
call fcn.0046bf80
mov dword [ebp - 0x1c4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1d4], xmm0
mov dword [ebp - 0x1c0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1d4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1c4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x3e]
mov byte [ebp - 4], 0x13
push eax
lea edx, [ebp - 0x1d4]
lea ecx, [ebp - 0x18c]
call fcn.00469e00
add esp, 4
lea ecx, [ebp - 0x1d4]
call fcn.004026c0
lea ecx, [ebp - 0x9c]
call fcn.004026c0
lea ecx, [ebp - 0x1bc]
call fcn.004026c0
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0x18
call fcn.004026c0
movaps xmm0, xmmword [0x527900]
lea ecx, [ebp - 0x83]
movups xmmword [ebp - 0x83], xmm0
mov dword [ebp - 0x73], 0xaeafa6ac
mov dword [ebp - 0x6f], 0x829a8d91
mov dword [ebp - 0x6b], 0x809d9783
mov word [ebp - 0x67], 0x100
call fcn.00414500
movaps xmm0, xmmword [0x5268f0]
lea ecx, [ebp - 0xba]
mov dword [ebp - 0x4c], eax
movups xmmword [ebp - 0xba], xmm0
mov dword [ebp - 0xaa], 0xb4aee7ac
mov dword [ebp - 0xa6], 0xa3a1abb9
mov dword [ebp - 0xa2], 0x8bbdbdb8
mov word [ebp - 0x9e], 0x100
call fcn.00414500
push dword [ebp - 0x34]
lea ecx, [ebp - 0x58]
mov edi, eax
call fcn.00464d30
lea ecx, [ebp - 0x2a]
mov word [ebp - 0x2a], 0xe5
mov esi, eax
mov byte [ebp - 0x28], 1
call fcn.0040a410
push eax
lea edx, [ebp - 0x15c]
lea ecx, [ebp - 0x130]
call fcn.00469da0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xe4]
call fcn.00469fc0
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x1a4]
call fcn.00469e00
add esp, 4
mov byte [ebp - 4], 0x1b
lea ecx, [ebx + 0x10]
push ecx
mov edx, eax
lea ecx, [ebp - 0x118]
call fcn.00469fc0
add esp, 4
push dword [ebp - 0x4c]
mov edx, eax
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x1ec]
call fcn.00469e00
add esp, 4
lea ecx, [ebp - 0x118]
call fcn.004026c0
lea ecx, [ebp - 0x1a4]
call fcn.004026c0
lea ecx, [ebp - 0xe4]
call fcn.004026c0
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x21
call fcn.004026c0
sub esp, 0x18
lea eax, [ebp - 0x174]
mov ecx, esp
push eax
call fcn.00466110
call fcn.0040bf60
add esp, 0x18
test al, al
jne 0x42ee62
sub esp, 0x18
lea eax, [ebp - 0x18c]
mov ecx, esp
push eax
call fcn.00466110
call fcn.0040bf60
add esp, 0x18
test al, al
jne 0x42ee62
cmp byte [ebx + 8], al
je 0x42eef9
sub esp, 0x18
lea eax, [ebp - 0x1ec]
mov ecx, esp
push eax
call fcn.00466110
call fcn.0040bf60
add esp, 0x18
test al, al
je 0x42eef9
mov esi, dword [ebp - 0x20]
mov eax, 0x2aaaaaab
mov ecx, esi
xor edi, edi
sub ecx, dword [ebp - 0x64]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x4c], eax
je 0x42eec8
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x24], ecx
mov edx, dword [ecx + 0x10]
cmp dword [ecx + 0x14], 0x10
mov eax, ecx
jb 0x42ee9b
mov eax, dword [ecx]
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x42eea5
mov ecx, dword [esi]
push edx
mov edx, dword [esi + 0x10]
push eax
call fcn.00475ee0
add esp, 8
test al, al
jne 0x42eef9
mov ecx, dword [ebp - 0x24]
inc edi
add esi, 0x18
mov edx, dword [ecx + 0x10]
cmp edi, dword [ebp - 0x4c]
jb 0x42ee91
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x58]
mov edi, dword [ebp - 0x18]
add eax, edi
push eax
cmp esi, dword [ebp - 0x5c]
je 0x42eee8
mov ecx, esi
call fcn.00466110
add esi, 0x18
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x60], esi
jmp 0x42eeff
push esi
lea ecx, [ebp - 0x64]
call fcn.00472f30
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x20], esi
jmp 0x42eeff
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x20]
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x1d8]
cmp ecx, 0x10
jb 0x42ef3d
mov edx, dword [ebp - 0x1ec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42ef33
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x178]
cmp ecx, 0x10
jb 0x42ef7b
mov edx, dword [ebp - 0x18c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42ef71
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x160]
cmp ecx, 0x10
jb 0x42efb9
mov edx, dword [ebp - 0x174]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42efaf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov ecx, dword [ebp - 0x54]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x58]
add edi, 0x18
inc dword [ebp - 0x34]
imul ecx
mov dword [ebp - 0x18], edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x34], eax
jb 0x42e770
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call fcn.00468250
jmp 0x42f025
push 0x5214f8
lea ecx, [ebp - 0x100]
call fcn.00402760
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0x22
push eax
lea ecx, [ebp - 0x64]
call fcn.00464db0
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 5
call fcn.004026c0
mov esi, dword [ebp - 0x60]
mov edi, dword [ebp - 0x64]
mov ecx, esi
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x42f077
push 0x5214f8
lea ecx, [ebp - 0x100]
call fcn.00402760
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x64]
call fcn.00464db0
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 5
call fcn.004026c0
mov esi, dword [ebp - 0x60]
mov edi, dword [ebp - 0x64]
sub esi, edi
mov eax, 0x2aaaaaab
imul esi
xor ecx, ecx
sar edx, 2
mov eax, edx
mov dword [ebp - 0x20], ecx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x1c], eax
je 0x43042d
nop dword [eax + eax]
cmp byte [ebx + 0xc], 0
jne 0x42f169
lea eax, [ecx + ecx*2]
mov esi, dword [edi + eax*8 + 0x10]
lea edx, [edi + eax*8]
test esi, esi
je 0x42f169
movaps xmm0, xmmword [0x527b10]
xor ecx, ecx
movups xmmword [ebp - 0x100], xmm0
mov dword [ebp - 0xf0], 0xb8bfaf9a
mov dword [ebp - 0xec], 0xa3a8a0a4
mov word [ebp - 0xe8], 0x8d
mov byte [ebp - 0xe6], 1
mov al, cl
sub al, 0x47
xor byte [ebp + ecx - 0x100], al
inc ecx
cmp ecx, 0x19
jb 0x42f0f0
lea ecx, [ebp - 0x100]
mov byte [ebp - 0xe6], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f111
mov eax, closesocket
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x430580
cmp dword [edx + 0x14], 0x10
jb 0x42f131
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0x100]
push eax
push esi
push edx
push ecx
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1ec]
call fcn.0046db90
mov eax, dword [ebp - 0x14]
or eax, 0x8000000
or eax, 1
mov byte [ebp - 4], 0x24
lea esi, [ebp - 0x1ec]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov edi, eax
jmp 0x42f1a4
xorps xmm0, xmm0
mov dword [ebp - 0xd4], 0
movups xmmword [ebp - 0xe4], xmm0
mov dword [ebp - 0xd0], 0xf
mov byte [ebp - 0xe4], 0
mov dword [ebp - 4], 0x25
lea esi, [ebp - 0xe4]
mov edi, dword [ebp - 0x14]
or edi, 2
mov dword [ebp - 0x18], edi
lea ecx, [ebp - 0x27]
mov word [ebp - 0x27], 0x5c
mov byte [ebp - 0x25], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f1b4
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x14c]
sub eax, edx
cmp eax, ecx
jb 0x430580
cmp dword [ebp - 0x148], 0x10
lea eax, [ebp - 0x15c]
push ecx
cmovae eax, dword [ebp - 0x15c]
lea ecx, [ebp - 0x27]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x18c]
call fcn.0046db90
or edi, 0x200000
mov dword [ebp - 0x18], edi
push esi
lea eax, [ebp - 0x18c]
mov dword [ebp - 4], 0x26
push eax
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x9c]
call fcn.0046d9a0
or edi, 0x400000
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 0x27
lea edx, [ebx + 0x10]
cmp dword [ebx + 0x24], 0x10
mov ecx, dword [ebx + 0x20]
cmovae edx, dword [ebx + 0x10]
mov esi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x88]
sub eax, esi
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x34], esi
push ecx
push edx
cmp ecx, eax
ja 0x42f296
cmp dword [ebp - 0x88], 0x10
lea eax, [ecx + esi]
mov dword [ebp - 0x8c], eax
lea esi, [ebp - 0x9c]
cmovae esi, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x34]
add eax, esi
push eax
call fcn.004deec0
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov ecx, dword [ebp - 0x34]
add eax, esi
mov byte [eax + ecx], 0
lea eax, [ebp - 0x9c]
jmp 0x42f2af
mov byte [ebp - 0x144], 0
push dword [ebp - 0x144]
push ecx
lea ecx, [ebp - 0x9c]
call fcn.0046bf80
movups xmm0, xmmword [eax]
or edi, 0x20000
mov dword [ebp - 0x14], edi
movups xmmword [ebp - 0x1d4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1c4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x88]
cmp ecx, 0x10
jb 0x42f31e
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42f314
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x178]
cmp ecx, 0x10
jb 0x42f377
mov edx, dword [ebp - 0x18c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42f36d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0x14]
test cl, 2
je 0x42f3c8
mov eax, dword [ebp - 0xd0]
and ecx, 0xfffffffd
mov dword [ebp - 0x14], ecx
cmp eax, 0x10
jb 0x42f3c8
mov edx, dword [ebp - 0xe4]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x42f3bb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
mov ecx, dword [ebp - 0x14]
add esp, 8
mov byte [ebp - 4], 0x2c
test cl, 1
je 0x42f416
mov eax, dword [ebp - 0x1d8]
and ecx, 0xfffffffe
mov dword [ebp - 0x14], ecx
cmp eax, 0x10
jb 0x42f416
mov edx, dword [ebp - 0x1ec]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x42f409
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
mov ecx, dword [ebp - 0x14]
add esp, 8
cmp byte [ebx + 0xc], 0
jne 0x42f4e2
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x64]
lea eax, [eax + eax*2]
mov esi, dword [edx + eax*8 + 0x10]
lea edx, [edx + eax*8]
test esi, esi
je 0x42f4e2
movaps xmm0, xmmword [0x526970]
xor ecx, ecx
movups xmmword [ebp - 0xb8], xmm0
mov dword [ebp - 0xa8], 0xb8ae99e9
mov dword [ebp - 0xa4], 0xb7a1a7b9
mov dword [ebp - 0xa0], 0x1008ea2
nop word [eax + eax]
mov al, cl
sub al, 0x47
xor byte [ebp + ecx - 0xb8], al
inc ecx
cmp ecx, 0x1a
jb 0x42f470
lea ecx, [ebp - 0xb8]
mov byte [ebp - 0x9d], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f491
mov eax, closesocket
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x430580
cmp dword [edx + 0x14], 0x10
jb 0x42f4b1
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0xb8]
push eax
push esi
push edx
push ecx
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1ec]
call fcn.0046db90
mov ecx, dword [ebp - 0x14]
or ecx, 0x4000000
lea esi, [ebp - 0x1ec]
mov byte [ebp - 4], 0x2d
or ecx, 4
jmp 0x42f517
xorps xmm0, xmm0
mov dword [ebp - 0xd4], 0
movups xmmword [ebp - 0xe4], xmm0
mov dword [ebp - 0xd0], 0xf
mov byte [ebp - 0xe4], 0
lea esi, [ebp - 0xe4]
mov dword [ebp - 4], 0x2e
or ecx, 8
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x2a]
mov word [ebp - 0x2a], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0x28], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f530
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x14c]
sub eax, edx
cmp eax, ecx
jb 0x430580
cmp dword [ebp - 0x148], 0x10
lea eax, [ebp - 0x15c]
push ecx
cmovae eax, dword [ebp - 0x15c]
lea ecx, [ebp - 0x2a]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x18c]
call fcn.0046db90
mov edi, dword [ebp - 0x14]
or edi, 0x100000
mov dword [ebp - 0x18], edi
push esi
lea eax, [ebp - 0x18c]
mov dword [ebp - 4], 0x2f
push eax
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x174]
call fcn.0046d9a0
or edi, 0x80000
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 0x30
lea edx, [ebx + 0x10]
cmp dword [ebx + 0x24], 0x10
mov ecx, dword [ebx + 0x20]
cmovae edx, dword [ebx + 0x10]
mov eax, dword [ebp - 0x160]
mov esi, dword [ebp - 0x164]
sub eax, esi
mov dword [ebp - 0x24], ecx
push ecx
push edx
cmp ecx, eax
ja 0x42f60a
cmp dword [ebp - 0x160], 0x10
lea eax, [ecx + esi]
mov dword [ebp - 0x164], eax
lea eax, [ebp - 0x174]
cmovae eax, dword [ebp - 0x174]
add esi, eax
push esi
call fcn.004deec0
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov byte [esi + eax], 0
lea eax, [ebp - 0x174]
jmp 0x42f61d
mov byte [ebp - 0x4c], 0
push dword [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0x174]
call fcn.0046bf80
movups xmm0, xmmword [eax]
or edi, 0x40000
mov dword [ebp - 0x14], edi
movups xmmword [ebp - 0x1bc], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1ac], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x160]
cmp ecx, 0x10
jb 0x42f68c
mov edx, dword [ebp - 0x174]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42f682
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 0xf
mov byte [ebp - 0x174], 0
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0x178]
cmp ecx, 0x10
jb 0x42f6e5
mov edx, dword [ebp - 0x18c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42f6db
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x14]
test cl, 8
je 0x42f736
mov eax, dword [ebp - 0xd0]
and ecx, 0xfffffff7
mov dword [ebp - 0x14], ecx
cmp eax, 0x10
jb 0x42f736
mov edx, dword [ebp - 0xe4]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x42f729
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
mov ecx, dword [ebp - 0x14]
add esp, 8
mov byte [ebp - 4], 0x35
test cl, 4
je 0x42f784
mov eax, dword [ebp - 0x1d8]
and ecx, 0xfffffffb
mov dword [ebp - 0x14], ecx
cmp eax, 0x10
jb 0x42f784
mov edx, dword [ebp - 0x1ec]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x42f777
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
mov ecx, dword [ebp - 0x14]
add esp, 8
movaps xmm0, xmmword [0x527900]
xor edx, edx
movups xmmword [ebp - 0x9a], xmm0
mov dword [ebp - 0x8a], 0xaeafa6ac
mov word [ebp - 0x86], 0x100
nop word [eax + eax]
mov al, dl
sub al, 0x47
xor byte [ebp + edx - 0x9a], al
inc edx
cmp edx, 0x14
jb 0x42f7b0
cmp byte [ebx + 0xc], 0
mov byte [ebp - 0x85], 0
jne 0x42f884
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x64]
lea eax, [eax + eax*2]
mov esi, dword [edx + eax*8 + 0x10]
lea edx, [edx + eax*8]
test esi, esi
je 0x42f884
movaps xmm0, xmmword [0x5268f0]
xor ecx, ecx
movups xmmword [ebp - 0x83], xmm0
mov dword [ebp - 0x73], 0xb4aee7ac
mov dword [ebp - 0x6f], 0xa3a1abb9
mov dword [ebp - 0x6b], 0x8bbdbdb8
mov word [ebp - 0x67], 0x100
mov al, cl
sub al, 0x47
xor byte [ebp + ecx - 0x83], al
inc ecx
cmp ecx, 0x1c
jb 0x42f815
lea ecx, [ebp - 0x83]
mov byte [ebp - 0x66], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f833
mov eax, closesocket
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x430580
cmp dword [edx + 0x14], 0x10
jb 0x42f853
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0x83]
push eax
push esi
push edx
push ecx
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1ec]
call fcn.0046db90
mov ecx, dword [ebp - 0x14]
or ecx, 0x2000000
lea esi, [ebp - 0x1ec]
mov byte [ebp - 4], 0x36
or ecx, 0x10
jmp 0x42f8b9
xorps xmm0, xmm0
mov dword [ebp - 0x108], 0
movups xmmword [ebp - 0x118], xmm0
mov dword [ebp - 0x104], 0xf
mov byte [ebp - 0x118], 0
lea esi, [ebp - 0x118]
mov dword [ebp - 4], 0x37
or ecx, 0x20
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x2d]
mov word [ebp - 0x2d], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0x2b], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f8d0
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x14c]
sub eax, edx
cmp eax, ecx
jb 0x430580
cmp dword [ebp - 0x148], 0x10
lea eax, [ebp - 0x15c]
push ecx
cmovae eax, dword [ebp - 0x15c]
lea ecx, [ebp - 0x2d]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x18c]
call fcn.0046db90
mov edi, dword [ebp - 0x14]
or edi, 0x10000
mov dword [ebp - 0x18], edi
push esi
lea eax, [ebp - 0x18c]
mov dword [ebp - 4], 0x38
push eax
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x130]
call fcn.0046d9a0
or edi, 0x8000
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 0x39
lea edx, [ebx + 0x10]
cmp dword [ebx + 0x24], 0x10
mov ecx, dword [ebx + 0x20]
cmovae edx, dword [ebx + 0x10]
mov esi, dword [ebp - 0x120]
mov eax, dword [ebp - 0x11c]
sub eax, esi
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x34], esi
push ecx
push edx
cmp ecx, eax
ja 0x42f9b5
cmp dword [ebp - 0x11c], 0x10
lea eax, [esi + ecx]
mov dword [ebp - 0x120], eax
lea esi, [ebp - 0x130]
cmovae esi, dword [ebp - 0x130]
mov eax, dword [ebp - 0x34]
add eax, esi
push eax
call fcn.004deec0
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov ecx, dword [ebp - 0x34]
add eax, esi
mov byte [eax + ecx], 0
lea eax, [ebp - 0x130]
jmp 0x42f9ce
mov byte [ebp - 0x1f0], 0
push dword [ebp - 0x1f0]
push ecx
lea ecx, [ebp - 0x130]
call fcn.0046bf80
mov dword [ebp - 0xd4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0xe4], xmm0
mov dword [ebp - 0xd0], 0
or edi, 0x4000
movups xmm0, xmmword [eax]
mov dword [ebp - 0x18], edi
movups xmmword [ebp - 0xe4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xd4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x9a]
mov byte [ebp - 4], 0x3a
push eax
lea ecx, [ebp - 0xe4]
call fcn.00465e20
or edi, 0x2000
mov dword [ebp - 0x14], edi
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1a4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x194], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0xd0]
cmp ecx, 0x10
jb 0x42faa2
mov edx, dword [ebp - 0xe4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42fa98
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0xf
mov byte [ebp - 0xe4], 0
mov byte [ebp - 4], 0x3d
mov ecx, dword [ebp - 0x11c]
cmp ecx, 0x10
jb 0x42fafb
mov edx, dword [ebp - 0x130]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42faf1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0xf
mov byte [ebp - 0x130], 0
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x178]
cmp ecx, 0x10
jb 0x42fb54
mov edx, dword [ebp - 0x18c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42fb4a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0x14]
test al, 0x20
je 0x42fba2
mov ecx, dword [ebp - 0x104]
and eax, 0xffffffdf
mov dword [ebp - 0x14], eax
cmp ecx, 0x10
jb 0x42fba2
mov edx, dword [ebp - 0x118]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42fb95
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
mov eax, dword [ebp - 0x14]
add esp, 8
mov byte [ebp - 4], 0x40
test al, 0x10
je 0x42fbea
mov ecx, dword [ebp - 0x1d8]
and eax, 0xffffffef
mov dword [ebp - 0x14], eax
cmp ecx, 0x10
jb 0x42fbea
mov edx, dword [ebp - 0x1ec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42fbe0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov dword [ebp - 0x56], 0xeeeef9e5
xor ecx, ecx
mov dword [ebp - 0x52], 0x94f1fbef
mov word [ebp - 0x4e], 0x100
mov al, cl
sub al, 0x47
xor byte [ebp + ecx - 0x56], al
inc ecx
cmp ecx, 8
jb 0x42fc00
sub esp, 0x18
mov byte [ebp - 0x4d], 0
mov esi, esp
lea ecx, [ebp - 0x56]
mov dword [ebp - 0x24], esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42fc20
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x1c4]
sub eax, edx
cmp eax, ecx
jb 0x430580
cmp dword [ebp - 0x1c0], 0x10
lea eax, [ebp - 0x1d4]
push ecx
cmovae eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x56]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x1c]
mov ecx, esi
call fcn.0046db90
mov esi, dword [ebp - 0x14]
or esi, 0x1000
mov dword [ebp - 0x18], esi
call fcn.0040bf60
add esp, 0x18
test al, al
je 0x42fe99
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x64]
lea eax, [eax + eax*2]
cmp dword [ecx + eax*8 + 0x10], 0
lea eax, [ecx + eax*8]
jbe 0x42fcad
push eax
lea ecx, [ebp - 0x100]
call fcn.00466110
mov edi, eax
mov byte [ebp - 4], 0x41
or esi, 0x40
jmp 0x42fd3f
mov dword [ebp - 0xc3], 0xdddddffd
xor ecx, ecx
mov dword [ebp - 0xbf], 0xcbd2c8
mov byte [ebp - 0xbb], 1
nop word [eax + eax]
mov al, cl
sub al, 0x47
xor byte [ebp + ecx - 0xc3], al
inc ecx
cmp ecx, 7
jb 0x42fcd0
xorps xmm0, xmm0
mov byte [ebp - 0xbb], 0
lea ecx, [ebp - 0xc3]
mov dword [ebp - 0x108], 0
movups xmmword [ebp - 0x118], xmm0
mov dword [ebp - 0x104], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42fd10
sub ecx, edx
lea eax, [ebp - 0xc3]
push ecx
push eax
lea ecx, [ebp - 0x118]
call fcn.004028a0
lea edi, [ebp - 0x118]
mov dword [ebp - 4], 0x42
or esi, 0x80
lea eax, [ebp - 0x1d4]
mov dword [ebp - 0x18], esi
push eax
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x14], esi
mov word [ebp - 0x254], 0x100
call fcn.00466110
xorps xmm0, xmm0
movups xmmword [ebp - 0x238], xmm0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x238], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x228], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
lea eax, [ebx + 0x58]
mov dword [ebp - 4], 0x43
push eax
lea ecx, [ebp - 0x220]
call fcn.00466110
lea eax, [ebx + 0x28]
mov dword [ebp - 4], 0x44
push eax
lea ecx, [ebp - 0x208]
call fcn.00466110
mov esi, dword [ebp - 0x140]
lea eax, [ebp - 0x254]
mov dword [ebp - 4], 0x45
push eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x42fde5
call fcn.00479bf0
add dword [esi + 4], 0x64
jmp 0x42fded
push ecx
mov ecx, esi
call fcn.004722d0
lea ecx, [ebp - 0x254]
call fcn.00430590
mov dword [ebp - 4], 0x41
mov eax, dword [ebp - 0x14]
test al, al
jns 0x42fe4b
mov ecx, dword [ebp - 0x104]
and eax, 0xffffff7f
mov dword [ebp - 0x14], eax
cmp ecx, 0x10
jb 0x42fe4b
mov edx, dword [ebp - 0x118]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42fe3e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 4], 0x40
test al, 0x40
je 0x42fe96
mov ecx, dword [ebp - 0xec]
and eax, 0xffffffbf
mov dword [ebp - 0x14], eax
cmp ecx, 0x10
jb 0x42fe96
mov edx, dword [ebp - 0x100]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x42fe8c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x48], 0xeeeef9e5
xor ecx, ecx
mov dword [ebp - 0x44], 0x94f1fbef
mov word [ebp - 0x40], 0x100
nop
mov al, cl
sub al, 0x47
xor byte [ebp + ecx - 0x48], al
inc ecx
cmp ecx, 8
jb 0x42feb0
sub esp, 0x18
mov byte [ebp - 0x3f], 0
mov edi, esp
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x24], edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42fed0
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x1ac]
sub eax, edx
cmp eax, ecx
jb 0x430580
cmp dword [ebp - 0x1a8], 0x10
lea eax, [ebp - 0x1bc]
push ecx
cmovae eax, dword [ebp - 0x1bc]
lea ecx, [ebp - 0x48]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x1c]
mov ecx, edi
call fcn.0046db90
or esi, 0x800000
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], esi
call fcn.0040bf60
add esp, 0x18
test al, al
je 0x430151
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x64]
lea eax, [eax + eax*2]
cmp dword [ecx + eax*8 + 0x10], 0
lea eax, [ecx + eax*8]
jbe 0x42ff60
push eax
lea ecx, [ebp - 0x100]
call fcn.00466110
mov edi, eax
mov byte [ebp - 4], 0x46
or esi, 0x100
jmp 0x42ffef
mov dword [ebp - 0xcc], 0xdddddffd
xor ecx, ecx
mov dword [ebp - 0xc8], 0xcbd2c8
mov byte [ebp - 0xc4], 1
nop dword [eax]
mov al, cl
sub al, 0x47
xor byte [ebp + ecx - 0xcc], al
inc ecx
cmp ecx, 7
jb 0x42ff80
xorps xmm0, xmm0
mov byte [ebp - 0xc4], 0
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x108], 0
movups xmmword [ebp - 0x118], xmm0
mov dword [ebp - 0x104], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42ffc0
sub ecx, edx
lea eax, [ebp - 0xcc]
push ecx
push eax
lea ecx, [ebp - 0x118]
call fcn.004028a0
lea edi, [ebp - 0x118]
mov dword [ebp - 4], 0x47
or esi, 0x200
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x18], esi
push eax
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x14], esi
mov word [ebp - 0x254], 0
call fcn.00466110
xorps xmm0, xmm0
movups xmmword [ebp - 0x238], xmm0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x238], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x228], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
lea eax, [ebx + 0x58]
mov dword [ebp - 4], 0x48
push eax
lea ecx, [ebp - 0x220]
call fcn.00466110
lea eax, [ebx + 0x28]
mov dword [ebp - 4], 0x49
push eax
lea ecx, [ebp - 0x208]
call fcn.00466110
mov esi, dword [ebp - 0x140]
lea eax, [ebp - 0x254]
mov dword [ebp - 4], 0x4a
push eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x430095
call fcn.00479bf0
add dword [esi + 4], 0x64
jmp 0x43009d
push ecx
mov ecx, esi
call fcn.004722d0
lea ecx, [ebp - 0x254]
call fcn.00430590
mov dword [ebp - 4], 0x46
mov eax, dword [ebp - 0x14]
test eax, 0x200
je 0x4300fe
mov ecx, dword [ebp - 0x104]
and eax, 0xfffffdff
mov dword [ebp - 0x14], eax
cmp ecx, 0x10
jb 0x4300fe
mov edx, dword [ebp - 0x118]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4300f1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 4], 0x40
test eax, 0x100
je 0x43014e
mov ecx, dword [ebp - 0xec]
and eax, 0xfffffeff
mov dword [ebp - 0x14], eax
cmp ecx, 0x10
jb 0x43014e
mov edx, dword [ebp - 0x100]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x430144
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov esi, dword [ebp - 0x14]
cmp byte [ebx + 8], 0
je 0x43035f
mov dword [ebp - 0x3e], 0xeeeef9e5
xor ecx, ecx
mov dword [ebp - 0x3a], 0x94f1fbef
mov word [ebp - 0x36], 0x100
mov al, cl
sub al, 0x47
xor byte [ebp + ecx - 0x3e], al
inc ecx
cmp ecx, 8
jb 0x430171
sub esp, 0x18
mov byte [ebp - 0x35], 0
mov edi, esp
lea ecx, [ebp - 0x3e]
mov dword [ebp - 0x24], edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430191
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x194]
sub eax, edx
cmp eax, ecx
jb 0x430580
cmp dword [ebp - 0x190], 0x10
lea eax, [ebp - 0x1a4]
push ecx
cmovae eax, dword [ebp - 0x1a4]
lea ecx, [ebp - 0x3e]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x1c]
mov ecx, edi
call fcn.0046db90
or esi, 0x1000000
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], esi
call fcn.0040bf60
add esp, 0x18
test al, al
je 0x43035f
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x64]
lea eax, [ecx + ecx*2]
cmp dword [edx + eax*8 + 0x10], 0
jbe 0x430224
push ecx
lea ecx, [ebp - 0x64]
call fcn.00464d30
push eax
lea ecx, [ebp - 0x18c]
call fcn.00466110
mov edi, eax
mov byte [ebp - 4], 0x4b
or esi, 0x400
jmp 0x430265
lea ecx, [ebp - 0x139]
mov dword [ebp - 0x139], 0xdddddffd
mov dword [ebp - 0x135], 0xcbd2c8
mov byte [ebp - 0x131], 1
call fcn.0040b910
push eax
lea ecx, [ebp - 0x100]
call fcn.00402760
mov edi, eax
mov dword [ebp - 4], 0x4c
or esi, 0x800
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x18], esi
push eax
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x14], esi
mov word [ebp - 0x254], 1
call fcn.00466110
xorps xmm0, xmm0
movups xmmword [ebp - 0x238], xmm0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x238], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x228], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
lea eax, [ebx + 0x58]
mov dword [ebp - 4], 0x4d
push eax
lea ecx, [ebp - 0x220]
call fcn.00466110
lea eax, [ebx + 0x28]
mov dword [ebp - 4], 0x4e
push eax
lea ecx, [ebp - 0x208]
call fcn.00466110
mov esi, dword [ebp - 0x140]
lea eax, [ebp - 0x254]
mov dword [ebp - 4], 0x4f
push eax
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
je 0x43030b
call fcn.00479bf0
add dword [esi + 4], 0x64
jmp 0x430313
push ecx
mov ecx, esi
call fcn.004722d0
lea ecx, [ebp - 0x254]
call fcn.00430590
mov eax, dword [ebp - 0x14]
test eax, 0x800
je 0x43033e
and eax, 0xfffff7ff
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x14], eax
call fcn.004026c0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x40
test eax, 0x400
je 0x43035f
and eax, 0xfffffbff
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x14], eax
call fcn.004026c0
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0x190]
cmp ecx, 0x10
jb 0x43039d
mov edx, dword [ebp - 0x1a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x430393
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x1a8]
cmp ecx, 0x10
jb 0x4303db
mov edx, dword [ebp - 0x1bc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4303d1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x1c0]
cmp ecx, 0x10
jb 0x430419
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43040f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x43042d
mov edi, dword [ebp - 0x64]
jmp 0x42f0a0
lea ecx, [ebp - 0x64]
call fcn.00468250
mov ecx, dword [ebp - 0x148]
cmp ecx, 0x10
jb 0x43046f
mov edx, dword [ebp - 0x15c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x430465
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov ecx, dword [ebx + 0x24]
cmp ecx, 0x10
jb 0x4304a3
mov edx, dword [ebx + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x430499
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov ecx, dword [ebx + 0x3c]
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0xf
mov byte [ebx + 0x10], 0
cmp ecx, 0x10
jb 0x4304e9
mov edx, dword [ebx + 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4304df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov ecx, dword [ebx + 0x54]
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0xf
mov byte [ebx + 0x28], 0
cmp ecx, 0x10
jb 0x43052b
mov edx, dword [ebx + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x430521
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
mov ecx, dword [ebx + 0x6c]
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], 0xf
mov byte [ebx + 0x40], 0
cmp ecx, 0x10
jb 0x43056d
mov edx, dword [ebx + 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x430563
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x430585
push ecx
push edx
call fcn.004dd461
add esp, 8
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.00402060
call fcn.004e2700
int3