Function at 0x448880
Capabilities:
Check if file exists
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 0x506dc2
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.004db192
add esp, 4
test eax, eax
jne 0x44a4f2
test esi, esi
je 0x44890d
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4488f0
sub ecx, edx
je 0x44890d
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x44890d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x535230
call fcn.004db1a3
add esp, 4
cmp byte [0x535138], 2
jne 0x44a4ab
lea eax, [ebp - 0x194]
mov ecx, 0x535138
push eax
call fcn.00462560
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 0x4489b9
sub ecx, 1
je 0x4489ab
mov dword [ebp - 0x178], connect
sub eax, 1
je 0x4489b9
sub eax, 1
je 0x4489ab
mov dword [ebp - 0x178], 1
jmp 0x4489c4
mov eax, dword [edx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x17c], eax
jmp 0x4489c4
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.00461b40
test al, al
je 0x44a4ab
mov edi, dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea ecx, [ebp - 0x194]
call fcn.00461c50
movaps xmm0, xmmword [0x523e60]
mov esi, eax
movups xmmword [ebp - 0x2d], xmm0
mov byte [ebp - 0x1d], 1
xor ecx, ecx
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x2d], al
inc ecx
cmp ecx, 0xf
jb 0x448a02
lea eax, [ebp - 0x2d]
mov byte [ebp - 0x1d], 0
push eax
mov ecx, esi
call fcn.00468ee0
lea ecx, [ebp - 0x1d4]
push ecx
mov ecx, eax
call fcn.00469020
mov byte [ebp - 4], 1
xor ecx, ecx
mov dword [ebp - 0x104], 0x929a8086
mov dword [ebp - 0x100], 0x97939fa7
mov dword [ebp - 0xfc], 0x1008e99
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x104], al
inc ecx
cmp ecx, 0xa
jb 0x448a51
lea eax, [ebp - 0x104]
mov byte [ebp - 0xf9], 0
push eax
mov ecx, esi
call fcn.00468ee0
lea ecx, [ebp - 0x1b0]
push ecx
mov ecx, eax
call fcn.00469020
mov byte [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x14f], 0x929a8086
mov dword [ebp - 0x14b], 0x97959fa7
mov dword [ebp - 0x147], 0x8c9898
mov byte [ebp - 0x143], 1
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x14f], al
inc ecx
cmp ecx, 0xb
jb 0x448ab0
lea eax, [ebp - 0x14f]
mov byte [ebp - 0x143], 0
push eax
mov ecx, esi
call fcn.00468ee0
lea ecx, [ebp - 0x70]
push ecx
mov ecx, eax
call fcn.00469020
mov byte [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x15d], 0x929a8086
mov dword [ebp - 0x159], 0x81938aa7
mov dword [ebp - 0x155], 0x9d95a299
mov word [ebp - 0x151], 0x100
nop
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x15d], al
inc ecx
cmp ecx, 0xc
jb 0x448b10
lea eax, [ebp - 0x15d]
mov byte [ebp - 0x150], 0
push eax
mov ecx, esi
call fcn.00468ee0
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.00469020
cmp dword [eax + 0x14], 0x10
jb 0x448b49
mov eax, dword [eax]
push eax
call fcn.004e9777
mov ecx, dword [ebp - 0x44]
add esp, 4
mov dword [ebp - 0x164], eax
cmp ecx, 0x10
jb 0x448b8c
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x448b82
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
add esp, 8
movaps xmm0, xmmword [0x5247b0]
xor ecx, ecx
movups xmmword [ebp - 0x32], xmm0
mov dword [ebp - 0x22], 0x71757771
mov word [ebp - 0x1e], 0x100
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x32], al
inc ecx
cmp ecx, 0x14
jb 0x448ba6
lea eax, [ebp - 0x32]
mov byte [ebp - 0x1d], 0
push eax
mov ecx, esi
call fcn.00468ee0
cmp byte [eax], 4
jne 0x44a4f8
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 0x448c07
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.00464ec0
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], 0x100d5d8
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x74], al
inc ecx
cmp ecx, 2
jb 0x448c53
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 0x448c87
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.00464ec0
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], 0xa4b3b1d1
mov dword [ebp - 0xb9], 0xabb5adb3
mov word [ebp - 0xb5], 0xd9
mov byte [ebp - 0xb3], 1
nop dword [eax]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0xbd], al
inc ecx
cmp ecx, 9
jb 0x448cf0
lea edx, [ebp - 0xbd]
mov byte [ebp - 0xb3], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x448d11
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.0046a3c0
add esp, 0xc
test eax, eax
jne 0x448f99
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004dde70
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 0x448d86
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], 0xa4b3b1d1
mov dword [ebp - 0xc4], 0xabb5adb3
mov word [ebp - 0xc0], 0xd9
mov byte [ebp - 0xbe], 1
nop dword [eax]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0xc8], al
inc ecx
cmp ecx, 9
jb 0x448dd0
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 0x448e06
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 0x448f25
sub eax, esi
test esi, esi
jne 0x448e63
xor edi, edi
jmp 0x448f09
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.004df660
mov edi, eax
add esp, 0xc
test edi, edi
je 0x448f22
mov edx, dword [ebp - 0x3c]
mov ecx, edi
sub esi, 4
jb 0x448ea1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x448ea6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x448e90
cmp esi, 0xfffffffc
je 0x448eda
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x448ed3
cmp esi, 0xfffffffd
je 0x448eda
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x448ed3
cmp esi, 0xfffffffe
je 0x448eda
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x448ed3
cmp esi, 0xffffffff
je 0x448eda
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x448eda
sbb eax, eax
or eax, 1
jmp 0x448edc
xor eax, eax
test eax, eax
je 0x448efe
mov eax, dword [ebp - 0x38]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x1c]
push edi
call fcn.004df660
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x448e86
jmp 0x448f22
sub edi, dword [ebp - 0x40]
cmp edi, 0xffffffff
je 0x448f22
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.00467620
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0xa
je 0x448f5b
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x448f51
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x448f93
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x448f89
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
add esp, 8
mov edi, dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov dword [ebp - 0xeb], 0xb4b9b1d1
xor ecx, ecx
mov dword [ebp - 0xe7], 0xb5bfb4ad
mov dword [ebp - 0xe3], 0xdbaea8
mov byte [ebp - 0xdf], 1
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0xeb], al
inc ecx
cmp ecx, 0xb
jb 0x448fc0
lea edx, [ebp - 0xeb]
mov byte [ebp - 0xdf], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x448fe1
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.0046a3c0
add esp, 0xc
test eax, eax
jne 0x449263
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004dde70
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 0x449056
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], 0xb4b9b1d1
mov dword [ebp - 0xf4], 0xb5bfb4ad
mov dword [ebp - 0xf0], 0xdbaea8
mov byte [ebp - 0xec], 1
nop word [eax + eax]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0xf8], al
inc ecx
cmp ecx, 0xb
jb 0x4490a0
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 0x4490d6
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 0x4491f5
sub eax, esi
test esi, esi
jne 0x449133
xor edi, edi
jmp 0x4491d9
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.004df660
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4491f2
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x449171
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x449176
add ecx, 4
add edx, 4
sub esi, 4
jae 0x449160
cmp esi, 0xfffffffc
je 0x4491aa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4491a3
cmp esi, 0xfffffffd
je 0x4491aa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4491a3
cmp esi, 0xfffffffe
je 0x4491aa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4491a3
cmp esi, 0xffffffff
je 0x4491aa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4491aa
sbb eax, eax
or eax, 1
jmp 0x4491ac
xor eax, eax
test eax, eax
je 0x4491ce
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004df660
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x449156
jmp 0x4491f2
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x4491f2
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.00467620
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0xc
je 0x44922b
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x449221
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449263
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449259
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
add esp, 8
mov dword [ebp - 0x113], 0xb2a5a0d1
xor ecx, ecx
mov dword [ebp - 0x10f], 0xb4a8a9aa
mov dword [ebp - 0x10b], 0xbab2b4ba
mov word [ebp - 0x107], 0x25
mov byte [ebp - 0x105], 1
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x113], al
inc ecx
cmp ecx, 0xd
jb 0x449293
lea edx, [ebp - 0x113]
mov byte [ebp - 0x105], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4492b4
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.0046a3c0
add esp, 0xc
test eax, eax
jne 0x44948f
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004dde70
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 0x449330
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], 0xb2a5a0d1
mov dword [ebp - 0x11e], 0xb4a8a9aa
mov dword [ebp - 0x11a], 0xbab2b4ba
mov word [ebp - 0x116], 0x25
mov byte [ebp - 0x114], 1
nop dword [eax]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x122], al
inc ecx
cmp ecx, 0xd
jb 0x449380
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 0x4493b6
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.0046a3c0
add esp, 0xc
cmp eax, 0xffffffff
je 0x449422
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.00467620
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0xe
je 0x449457
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x44944d
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push esi
call fcn.004dbe91
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x44948f
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449485
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
add esp, 8
mov dword [ebp - 0xd3], 0xa7a6b4d1
xor ecx, ecx
mov dword [ebp - 0xcf], 0xbaaeb8bc
mov word [ebp - 0xcb], 0xd9
mov byte [ebp - 0xc9], 1
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0xd3], al
inc ecx
cmp ecx, 9
jb 0x4494b5
lea edx, [ebp - 0xd3]
mov byte [ebp - 0xc9], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4494d6
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.0046a3c0
add esp, 0xc
test eax, eax
jne 0x449763
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004dde70
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 0x449550
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], 0xa7a6b4d1
mov dword [ebp - 0xda], 0xbaaeb8bc
mov word [ebp - 0xd6], 0xd9
mov byte [ebp - 0xd4], 1
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0xde], al
inc ecx
cmp ecx, 9
jb 0x449593
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 0x4495d0
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 0x4496f5
sub eax, esi
test esi, esi
jne 0x44962d
xor edi, edi
jmp 0x4496d9
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.004df660
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4496f2
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x449671
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x449676
add ecx, 4
add edx, 4
sub esi, 4
jae 0x449660
cmp esi, 0xfffffffc
je 0x4496aa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4496a3
cmp esi, 0xfffffffd
je 0x4496aa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4496a3
cmp esi, 0xfffffffe
je 0x4496aa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4496a3
cmp esi, 0xffffffff
je 0x4496aa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4496aa
sbb eax, eax
or eax, 1
jmp 0x4496ac
xor eax, eax
test eax, eax
je 0x4496ce
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004df660
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x449650
jmp 0x4496f2
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x4496f2
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.00467620
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x10
je 0x44972b
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x449721
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449763
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449759
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
add esp, 8
mov dword [ebp - 0x142], 0xb4b9b9d1
xor ecx, ecx
mov dword [ebp - 0x13e], 0xabbbb5b9
mov dword [ebp - 0x13a], 0xabbfb9ac
mov dword [ebp - 0x136], 0x1002441
nop dword [eax]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x142], al
inc ecx
cmp ecx, 0xe
jb 0x449790
lea edx, [ebp - 0x142]
mov byte [ebp - 0x133], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4497b1
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.0046a3c0
add esp, 0xc
test eax, eax
jne 0x449a43
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004dde70
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 0x449830
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], 0xb4b9b9d1
mov dword [ebp - 0x12e], 0xabbbb5b9
mov dword [ebp - 0x12a], 0xabbfb9ac
mov dword [ebp - 0x126], 0x1002441
nop word [eax + eax]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x132], al
inc ecx
cmp ecx, 0xe
jb 0x449880
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 0x4498b6
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 0x4499d5
sub eax, esi
test esi, esi
jne 0x449913
xor edi, edi
jmp 0x4499b9
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.004df660
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4499d2
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x449951
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x449956
add ecx, 4
add edx, 4
sub esi, 4
jae 0x449940
cmp esi, 0xfffffffc
je 0x44998a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x449983
cmp esi, 0xfffffffd
je 0x44998a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x449983
cmp esi, 0xfffffffe
je 0x44998a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x449983
cmp esi, 0xffffffff
je 0x44998a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44998a
sbb eax, eax
or eax, 1
jmp 0x44998c
xor eax, eax
test eax, eax
je 0x4499ae
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004df660
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x449936
jmp 0x4499d2
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x4499d2
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.00467620
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x12
je 0x449a0b
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x449a01
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449a43
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449a39
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
add esp, 8
mov dword [ebp - 0xa8], 0xb4b3a7d1
xor ecx, ecx
mov dword [ebp - 0xa4], 0xdeaeb7bd
mov word [ebp - 0xa0], 0x100
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0xa8], al
inc ecx
cmp ecx, 8
jb 0x449a62
lea edx, [ebp - 0xa8]
mov byte [ebp - 0x9f], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449a83
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.0046a3c0
add esp, 0xc
test eax, eax
jne 0x449d03
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004dde70
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 0x449b00
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], 0xb4b3a7d1
mov dword [ebp - 0xae], 0xdeaeb7bd
mov word [ebp - 0xaa], 0x100
nop dword [eax]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0xb2], al
inc ecx
cmp ecx, 8
jb 0x449b40
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 0x449b76
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 0x449c95
sub eax, esi
test esi, esi
jne 0x449bd3
xor edi, edi
jmp 0x449c79
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.004df660
mov edi, eax
add esp, 0xc
test edi, edi
je 0x449c92
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x449c11
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x449c16
add ecx, 4
add edx, 4
sub esi, 4
jae 0x449c00
cmp esi, 0xfffffffc
je 0x449c4a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x449c43
cmp esi, 0xfffffffd
je 0x449c4a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x449c43
cmp esi, 0xfffffffe
je 0x449c4a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x449c43
cmp esi, 0xffffffff
je 0x449c4a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x449c4a
sbb eax, eax
or eax, 1
jmp 0x449c4c
xor eax, eax
test eax, eax
je 0x449c6e
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004df660
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x449bf6
jmp 0x449c92
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x449c92
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.00467620
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x14
je 0x449ccb
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x449cc1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449d03
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449cf9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
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 0x44a2f1
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 0x449d45
mov esi, dword [esi]
test eax, eax
je 0x449fc0
push eax
push 0x2a
push esi
call fcn.004df660
add esp, 0xc
test eax, eax
je 0x449fc0
sub eax, esi
cmp eax, 0xffffffff
je 0x449fc0
mov dword [ebp - 0x82], 0xdedbdbdc
xor ecx, ecx
mov word [ebp - 0x7e], 0x100
nop
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x82], al
inc ecx
cmp ecx, 4
jb 0x449d80
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 0x449db3
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 0x449e00
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 0x449e52
mov edi, dword [esi]
mov dword [ebp - 0x38], edi
mov esi, dword [ebp - 0x24]
cmp esi, eax
ja 0x449f43
sub eax, esi
test esi, esi
jne 0x449e6a
xor edi, edi
jmp 0x449f27
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.004df660
mov edi, eax
add esp, 0xc
test edi, edi
je 0x449f40
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x449eb1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x449eba
add ecx, 4
add edx, 4
sub esi, 4
jae 0x449ea0
cmp esi, 0xfffffffc
je 0x449eee
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x449ee7
cmp esi, 0xfffffffd
je 0x449eee
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x449ee7
cmp esi, 0xfffffffe
je 0x449eee
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x449ee7
cmp esi, 0xffffffff
je 0x449eee
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x449eee
sbb eax, eax
or eax, 1
jmp 0x449ef0
xor eax, eax
test eax, eax
je 0x449f1c
mov eax, dword [ebp - 0x168]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x98]
push edi
call fcn.004df660
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x449e93
jmp 0x449f40
sub edi, dword [ebp - 0x38]
cmp edi, 0xffffffff
je 0x449f40
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.00467620
mov edx, dword [ebp - 0x1c]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x16
je 0x449f79
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x449f6f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
add esp, 8
mov edi, dword [ebp - 0x18]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449d32
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449fae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
mov edi, dword [ebp - 0x18]
add esp, 8
jmp 0x449d32
add edi, dword [ebp - 0x174]
xor ecx, ecx
mov dword [ebp - 0x88], 0xdedbdbdc
mov word [ebp - 0x84], 0x100
nop dword [eax + eax]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x88], al
inc ecx
cmp ecx, 4
jb 0x449fe0
lea esi, [ebp - 0x88]
mov byte [ebp - 0x83], 0
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x44a001
mov edx, dword [edi + 0x10]
sub esi, ecx
cmp dword [edi + 0x14], 0x10
jb 0x44a015
mov edi, dword [edi]
push esi
lea eax, [ebp - 0x88]
mov ecx, edi
push eax
push 0
call fcn.0046a3c0
add esp, 0xc
cmp eax, 0xffffffff
je 0x44a2bc
mov dword [ebp - 0x8e], 0xdedcdbdc
xor ecx, ecx
mov word [ebp - 0x8a], 0x100
nop word [eax + eax]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x8e], al
inc ecx
cmp ecx, 4
jb 0x44a050
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 0x44a086
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], 0xdedbdbdc
mov word [ebp - 0x90], 0x100
nop dword [eax + eax]
mov al, cl
sub al, 0xc
xor byte [ebp + ecx - 0x94], al
inc ecx
cmp ecx, 4
jb 0x44a0c0
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 0x44a0f6
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 0x44a149
mov edi, dword [esi]
mov dword [ebp - 0x38], edi
mov esi, dword [ebp - 0x24]
cmp esi, eax
ja 0x44a23f
sub eax, esi
test esi, esi
jne 0x44a161
xor edi, edi
jmp 0x44a223
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.004df660
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44a23c
nop word [eax + eax]
mov ecx, dword [ebp - 0x7c]
mov edx, edi
sub esi, 4
jb 0x44a1b1
nop word [eax + eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x44a1b6
add edx, 4
add ecx, 4
sub esi, 4
jae 0x44a1a0
cmp esi, 0xfffffffc
je 0x44a1ea
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x44a1e3
cmp esi, 0xfffffffd
je 0x44a1ea
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x44a1e3
cmp esi, 0xfffffffe
je 0x44a1ea
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x44a1e3
cmp esi, 0xffffffff
je 0x44a1ea
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x44a1ea
sbb eax, eax
or eax, 1
jmp 0x44a1ec
xor eax, eax
test eax, eax
je 0x44a218
mov eax, dword [ebp - 0x98]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x168]
push edi
call fcn.004df660
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44a190
jmp 0x44a23c
sub edi, dword [ebp - 0x38]
cmp edi, 0xffffffff
je 0x44a23c
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.00467620
mov edx, dword [ebp - 0x1c]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x18
je 0x44a275
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x44a26b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
add esp, 8
mov edi, dword [ebp - 0x18]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449fc0
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a2aa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
mov edi, dword [ebp - 0x18]
add esp, 8
jmp 0x449fc0
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 0x449d32
sub esp, 0xc
lea eax, [ebp - 0x174]
mov ecx, esp
mov dword [ebp - 0x7c], esp
push eax
call fcn.00463c10
sub esp, 0xc
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x98], esp
mov ecx, esp
push eax
call fcn.00463c10
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.00464ec0
sub esp, 0x18
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x70]
mov ecx, esp
push eax
call fcn.00464ec0
mov cl, byte [ebp - 0x75]
mov edx, esi
mov byte [ebp - 4], 9
call fcn.00447600
add esp, 0x4c
lea ecx, [ebp - 0x174]
call fcn.004670b0
lea ecx, [ebp - 0x1bc]
call fcn.004670b0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x44a3b9
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a3af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
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 0x44a409
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a3ff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
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 0x44a462
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a458
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
add esp, 8
mov eax, dword [ebp - 0x194]
movzx eax, byte [eax]
sub eax, 1
je 0x44a48c
sub eax, 1
je 0x44a480
inc dword [ebp - 0x188]
jmp 0x4489c4
add dword [ebp - 0x18c], 0x10
jmp 0x4489c4
mov eax, dword [ebp - 0x190]
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
call fcn.00466370
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x190], eax
jmp 0x4489c4
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x10
jb 0x44a4df
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a4d5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44a546
push ecx
push edx
call fcn.004dbe91
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.004dae3b
mov ecx, eax
call fcn.00466b90
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.00468d20
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 0x530028
push eax
call fcn.004dd87b
call fcn.004e1130
int3