Function at 0x40f4c0
Capabilities:
Encode data using xor
Hash data with md5
Query or enumerate registry value

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 0x52b8ae
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x6c8
push esi
push edi
mov dword [ebp - 0x94], ecx
mov esi, 0x20019
call fcn.0040db80
test eax, eax
mov dword [ebp - 0x4c], 0xdcdadefa
mov ecx, 0x20119
mov word [ebp - 0x48], 0xc3dc
xorps xmm0, xmm0
mov byte [ebp - 0x46], 0xdb
cmovne esi, ecx
mov dword [ebp - 0x35], 0
movups xmmword [ebp - 0x45], xmm0
mov word [ebp - 0x31], 0
xor ecx, ecx
mov byte [ebp - 0x2f], 0
nop dword [eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x4c], al
inc ecx
cmp ecx, 7
jb 0x40f540
mov dword [0x565560], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x45], 0
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x18], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f572
sub ecx, edx
lea eax, [ebp - 0x4c]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.00402c40
mov dword [ebp - 4], 0
lea edx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
xorps xmm0, xmm0
movups xmmword [ebp - 0xdc], xmm0
cmovae edx, dword [ebp - 0x2c]
mov ecx, edx
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f5c0
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0xdc]
call fcn.00402c40
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x40f60e
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40f604
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101d3
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x551c50]
xor ecx, ecx
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x70], 0
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0x819db4d9
mov dword [ebp - 0x50], 0xb2b5bdb1
mov dword [ebp - 0x4c], 0xabbbafa8
mov word [ebp - 0x48], 0xa4bb
mov byte [ebp - 0x46], 0xb4
movups xmmword [ebp - 0x45], xmm0
mov dword [ebp - 0x35], 0
mov word [ebp - 0x31], 0
mov byte [ebp - 0x2f], 0
nop dword [eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x64], al
inc ecx
cmp ecx, 0x1f
jb 0x40f660
mov dword [0x565568], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x64]
mov byte [ebp - 0x45], 0
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x18], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f692
sub ecx, edx
lea eax, [ebp - 0x64]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.00402c40
cmp dword [ebp - 0x18], 0x10
lea ecx, [ebp - 0x70]
push ecx
push esi
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push 0
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov ecx, dword [ebp - 0x18]
test eax, eax
sete al
mov byte [ebp - 0x11], al
cmp ecx, 0x10
jb 0x40f705
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40f6f8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101bf
push ecx
push edx
call fcn.00504f31
mov al, byte [ebp - 0x11]
add esp, 8
test al, al
je 0x40f835
xorps xmm0, xmm0
mov dword [ebp - 0x68], 0x20019
mov dword [ebp - 0x74], 0x400
xor ecx, ecx
mov dword [ebp - 0x50], 0xdad2d1e2
mov dword [ebp - 0x4c], 0xf1d0dada
mov word [ebp - 0x48], 0xd1c2
mov byte [ebp - 0x46], 0xdd
movups xmmword [ebp - 0x45], xmm0
mov dword [ebp - 0x35], 0
mov word [ebp - 0x31], 0
mov byte [ebp - 0x2f], 0
nop dword [eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x50], al
inc ecx
cmp ecx, 0xb
jb 0x40f750
mov dword [0x565530], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x50]
mov byte [ebp - 0x45], 0
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x18], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f782
sub ecx, edx
lea eax, [ebp - 0x50]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.00402c40
cmp dword [ebp - 0x18], 0x10
lea ecx, [ebp - 0x74]
push ecx
lea ecx, [ebp - 0x6d8]
push ecx
lea ecx, [ebp - 0x68]
push ecx
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push 0
push eax
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ecx, dword [ebp - 0x18]
test eax, eax
sete al
mov byte [ebp - 0x11], al
cmp ecx, 0x10
jb 0x40f7fd
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40f7f0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101c4
push ecx
push edx
call fcn.00504f31
mov al, byte [ebp - 0x11]
add esp, 8
test al, al
je 0x40f82c
lea ecx, [ebp - 0x6d8]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f810
sub ecx, edx
lea eax, [ebp - 0x6d8]
push ecx
push eax
lea ecx, [ebp - 0xdc]
call fcn.0048c8a0
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0xdcdadefa
mov word [ebp - 0x48], 0xc3dc
xor ecx, ecx
mov byte [ebp - 0x46], 0xdb
movups xmmword [ebp - 0x45], xmm0
mov dword [ebp - 0x35], 0
mov word [ebp - 0x31], 0
mov byte [ebp - 0x2f], 0
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x4c], al
inc ecx
cmp ecx, 7
jb 0x40f860
mov dword [0x565560], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x45], 0
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x18], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f892
sub ecx, edx
lea eax, [ebp - 0x4c]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.00402c40
mov byte [ebp - 4], 3
lea edx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
xorps xmm0, xmm0
movups xmmword [ebp - 0xac], xmm0
cmovae edx, dword [ebp - 0x2c]
mov ecx, edx
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f8e0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xac]
call fcn.00402c40
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x40f92e
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40f924
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101d3
push ecx
push edx
call fcn.00504f31
add esp, 8
push 0x7c
lea eax, [ebp - 0x2d8]
push 0
push eax
call fcn.00506f10
add esp, 0xc
lea eax, [ebp - 0x2d8]
push eax
call dword [sym.imp.ADVAPI32.dll_GetCurrentHwProfileA]
test eax, eax
je 0x40f97c
lea ecx, [ebp - 0x2d4]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f960
sub ecx, edx
lea eax, [ebp - 0x2d4]
push ecx
push eax
lea ecx, [ebp - 0xac]
call fcn.0048c8a0
lea ecx, [ebp - 0x188]
call fcn.0040ed40
mov dword [ebp - 0x6c], eax
mov byte [ebp - 4], 6
xorps xmm0, xmm0
mov byte [ebp - 0x2c], 0xf0
xor ecx, ecx
movups xmmword [ebp - 0x2b], xmm0
mov dword [ebp - 0x1b], 0
mov word [ebp - 0x17], 0
mov byte [ebp - 0x15], 0
nop dword [eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x2c], al
inc ecx
cmp ecx, 1
jb 0x40f9b0
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x2b], 0
movups xmmword [ebp - 0x13c], xmm0
mov dword [ebp - 0x12c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x128], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f9f0
sub ecx, edx
lea eax, [ebp - 0x2c]
push ecx
push eax
lea ecx, [ebp - 0x13c]
call fcn.00402c40
push 0x12
mov byte [ebp - 4], 7
lea eax, [ebp - 0x13c]
cmp dword [ebp - 0x128], 0x10
push 0
cmovae eax, dword [ebp - 0x13c]
push 0
push 0x538500
mov dword [ebp - 0x90], eax
call dword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsA]
cmp eax, 0xffffffff
jne 0x40fa64
xorps xmm0, xmm0
mov dword [ebp - 0x144], 0
movups xmmword [ebp - 0x154], xmm0
mov dword [ebp - 0x140], 0xf
mov byte [ebp - 0x154], 0
jmp 0x40fa75
push ecx
mov edx, eax
lea ecx, [ebp - 0x154]
call fcn.0040eb40
add esp, 4
mov byte [ebp - 4], 8
xorps xmm0, xmm0
mov byte [ebp - 0x2c], 0xf0
xor ecx, ecx
movups xmmword [ebp - 0x2b], xmm0
mov dword [ebp - 0x1b], 0
mov word [ebp - 0x17], 0
mov byte [ebp - 0x15], 0
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x2c], al
inc ecx
cmp ecx, 1
jb 0x40fa97
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x2b], 0
movups xmmword [ebp - 0x124], xmm0
mov dword [ebp - 0x114], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x110], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40fad2
sub ecx, edx
lea eax, [ebp - 0x2c]
push ecx
push eax
lea ecx, [ebp - 0x124]
call fcn.00402c40
mov byte [ebp - 4], 9
lea eax, [ebp - 0x124]
cmp dword [ebp - 0x110], 0x10
xorps xmm0, xmm0
mov byte [ebp - 0x2c], 0xf0
cmovae eax, dword [ebp - 0x124]
xor ecx, ecx
mov dword [ebp - 0x74], eax
movups xmmword [ebp - 0x2b], xmm0
mov dword [ebp - 0x1b], 0
mov word [ebp - 0x17], 0
mov byte [ebp - 0x15], 0
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x2c], al
inc ecx
cmp ecx, 1
jb 0x40fb24
mov dword [0x565620], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x2b], 0
movups xmmword [ebp - 0x10c], xmm0
mov dword [ebp - 0xfc], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xf8], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40fb60
sub ecx, edx
lea eax, [ebp - 0x2c]
push ecx
push eax
lea ecx, [ebp - 0x10c]
call fcn.00402c40
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x10c]
cmp dword [ebp - 0xf8], 0x10
cmovae edx, dword [ebp - 0x10c]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40fb96
sub ecx, esi
mov eax, closesocket
mov esi, dword [ebp - 0xcc]
sub eax, esi
cmp eax, ecx
jb 0x4101c9
cmp dword [ebp - 0xc8], 0x10
lea eax, [ebp - 0xdc]
push ecx
cmovae eax, dword [ebp - 0xdc]
push edx
push esi
push eax
push ecx
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x8c]
call fcn.004946d0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xac]
cmp dword [ebp - 0x98], 0x10
mov edx, dword [ebp - 0x7c]
cmovae ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x78]
mov edi, dword [ebp - 0x9c]
sub eax, edx
mov dword [ebp - 0x68], edx
push edi
push ecx
cmp edi, eax
ja 0x40fc3f
cmp dword [ebp - 0x78], 0x10
lea esi, [ebp - 0x8c]
lea eax, [edi + edx]
cmovae esi, dword [ebp - 0x8c]
mov dword [ebp - 0x7c], eax
lea eax, [esi + edx]
push eax
call fcn.00506990
mov ecx, dword [ebp - 0x68]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [ebp - 0x8c]
jmp 0x40fc52
mov byte [ebp - 0x68], 0
lea ecx, [ebp - 0x8c]
push dword [ebp - 0x68]
push edi
call fcn.00492b30
mov esi, dword [ebp - 0xac]
xorps xmm0, xmm0
movups xmmword [ebp - 0xc4], xmm0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xc4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xb4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xc4]
push dword [ebp - 0x74]
call fcn.0048c9d0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x48], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x38], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x16c]
call fcn.004944e0
push dword [ebp - 0x90]
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0xe
call fcn.0048c9d0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push dword [ebp - 0x6c]
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xf
push eax
push dword [ebp - 0x6c]
lea ecx, [ebp - 0xf4]
call fcn.004944e0
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x40fd77
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40fd6d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101ce
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x158]
cmp ecx, 0x10
jb 0x40fdb5
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40fdab
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101ce
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x40fe08
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40fdfe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101ce
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0xb0]
cmp ecx, 0x10
jb 0x40fe46
mov edx, dword [ebp - 0xc4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40fe3c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101ce
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0xf
mov byte [ebp - 0xc4], 0
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x78]
cmp ecx, 0x10
jb 0x40fe9c
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40fe92
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101ce
push ecx
push edx
call fcn.00504f31
add esp, 8
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0xf8]
cmp ecx, 0x10
jb 0x40feef
mov edx, dword [ebp - 0x10c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40fee5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101ce
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x110]
cmp ecx, 0x10
jb 0x40ff2d
mov edx, dword [ebp - 0x124]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ff23
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101ce
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x140]
cmp ecx, 0x10
jb 0x40ff6b
mov edx, dword [ebp - 0x154]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ff61
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101ce
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x128]
cmp ecx, 0x10
jb 0x40ffa9
mov edx, dword [ebp - 0x13c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ff9f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101ce
push ecx
push edx
call fcn.00504f31
add esp, 8
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x174]
cmp ecx, 0x10
jb 0x40ffe7
mov edx, dword [ebp - 0x188]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ffdd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101ce
push ecx
push edx
call fcn.00504f31
add esp, 8
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push dword [ebp - 0xe4]
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0x258]
xorps xmm0, xmm0
mov dword [ebp - 0x178], 0
push eax
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
movups xmmword [ebp - 0x50], xmm0
mov byte [ebp - 0x30], 0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x258], 0x67452301
mov dword [ebp - 0x254], 0xefcdab89
mov dword [ebp - 0x250], 0x98badcfe
mov dword [ebp - 0x24c], 0x10325476
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 0
mov byte [ebp - 0x1bc], 0
call fcn.004a8b20
push ecx
lea ecx, [ebp - 0x258]
call fcn.004a8bf0
cmp byte [ebp - 0x1bc], 0
je 0x4100b8
movups xmm0, xmmword [ebp - 0x1ab]
mov al, byte [ebp - 0x18b]
mov byte [ebp - 0x30], al
movups xmmword [ebp - 0x50], xmm0
movups xmm0, xmmword [ebp - 0x19b]
movups xmmword [ebp - 0x40], xmm0
mov edi, dword [ebp - 0x94]
lea ecx, [ebp - 0x50]
xorps xmm0, xmm0
lea edx, [ecx + 1]
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4100d8
sub ecx, edx
lea eax, [ebp - 0x50]
push ecx
push eax
mov ecx, edi
call fcn.00402c40
mov ecx, dword [ebp - 0xe0]
cmp ecx, 0x10
jb 0x410127
mov edx, dword [ebp - 0xf4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41011d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101d3
push ecx
push edx
call fcn.00504f31
add esp, 8
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
cmp eax, 0x10
jb 0x410174
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x41016a
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101d3
push ecx
push esi
call fcn.00504f31
add esp, 8
mov ecx, dword [ebp - 0xc8]
cmp ecx, 0x10
jb 0x4101aa
mov edx, dword [ebp - 0xdc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4101a0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4101d3
push ecx
push edx
call fcn.00504f31
add esp, 8
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.004024b0
call fcn.0050a1d0
call fcn.0050a1d0
int3