Function at 0x4490b0
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 0x5081d2
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 0x536240
cmovae esi, dword [ebx + 8]
mov dword [ebp - 0x198], 0
call fcn.004dc3b3
add esp, 4
test eax, eax
jne 0x44ad22
test esi, esi
je 0x44913d
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x449120
sub ecx, edx
je 0x44913d
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x44913d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x536240
call fcn.004dc3c4
add esp, 4
cmp byte [0x536148], 2
jne 0x44acdb
lea eax, [ebp - 0x194]
mov ecx, 0x536148
push eax
call fcn.00463490
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 0x4491e9
sub ecx, 1
je 0x4491db
mov dword [ebp - 0x178], connect
sub eax, 1
je 0x4491e9
sub eax, 1
je 0x4491db
mov dword [ebp - 0x178], 1
jmp 0x4491f4
mov eax, dword [edx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x17c], eax
jmp 0x4491f4
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.00462a50
test al, al
je 0x44acdb
mov edi, dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea ecx, [ebp - 0x194]
call fcn.00462b60
movaps xmm0, xmmword [str.U_EOtIUMJ_E_ZF]
mov esi, eax
movups xmmword [ebp - 0x2d], xmm0
mov byte [ebp - 0x1d], 1
xor ecx, ecx
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x2d], al
inc ecx
cmp ecx, 0xf
jb 0x449232
lea eax, [ebp - 0x2d]
mov byte [ebp - 0x1d], 0
push eax
mov ecx, esi
call fcn.00469ec0
lea ecx, [ebp - 0x1d4]
push ecx
mov ecx, eax
call fcn.0046a000
mov byte [ebp - 4], 1
xor ecx, ecx
mov dword [ebp - 0x104], 0x4f455d55
mov dword [ebp - 0x100], 0x42444a74
mov dword [ebp - 0xfc], 0x100434a
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x104], al
inc ecx
cmp ecx, 0xa
jb 0x449281
lea eax, [ebp - 0x104]
mov byte [ebp - 0xf9], 0
push eax
mov ecx, esi
call fcn.00469ec0
lea ecx, [ebp - 0x1b0]
push ecx
mov ecx, eax
call fcn.0046a000
mov byte [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x14f], 0x4f455d55
mov dword [ebp - 0x14b], 0x42424a74
mov dword [ebp - 0x147], 0x43554b
mov byte [ebp - 0x143], 1
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x14f], al
inc ecx
cmp ecx, 0xb
jb 0x4492e0
lea eax, [ebp - 0x14f]
mov byte [ebp - 0x143], 0
push eax
mov ecx, esi
call fcn.00469ec0
lea ecx, [ebp - 0x70]
push ecx
mov ecx, eax
call fcn.0046a000
mov byte [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x15d], 0x4f455d55
mov dword [ebp - 0x159], 0x54445f74
mov dword [ebp - 0x155], 0x505a6f4a
mov word [ebp - 0x151], 0x100
nop
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x15d], al
inc ecx
cmp ecx, 0xc
jb 0x449340
lea eax, [ebp - 0x15d]
mov byte [ebp - 0x150], 0
push eax
mov ecx, esi
call fcn.00469ec0
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.0046a000
cmp dword [eax + 0x14], 0x10
jb 0x449379
mov eax, dword [eax]
push eax
call fcn.004ea997
mov ecx, dword [ebp - 0x44]
add esp, 4
mov dword [ebp - 0x164], eax
cmp ecx, 0x10
jb 0x4493bc
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4493b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
add esp, 8
movaps xmm0, xmmword [0x5260f0]
xor ecx, ecx
movups xmmword [ebp - 0x32], xmm0
mov dword [ebp - 0x22], 0x4c4a4a42
mov word [ebp - 0x1e], 0x100
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x32], al
inc ecx
cmp ecx, 0x14
jb 0x4493d6
lea eax, [ebp - 0x32]
mov byte [ebp - 0x1d], 0
push eax
mov ecx, esi
call fcn.00469ec0
cmp byte [eax], 4
jne 0x44ad28
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 0x449437
sub ecx, esi
lea eax, [ebp - 0x9b]
push ecx
push eax
mov ecx, edx
call fcn.00402830
sub esp, 0x18
mov byte [ebp - 4], 6
lea eax, [ebp - 0x1d4]
mov ecx, esp
push eax
call fcn.00465e10
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 3
call fcn.0040c430
add esp, 0x30
mov byte [ebp - 4], 7
xor ecx, ecx
mov dword [ebp - 0x74], 0x100080b
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x74], al
inc ecx
cmp ecx, 2
jb 0x449483
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 0x4494b7
sub ecx, esi
lea eax, [ebp - 0x74]
push ecx
push eax
mov ecx, edx
call fcn.00402830
sub esp, 0x18
mov byte [ebp - 4], 8
lea eax, [ebp - 0x1b0]
mov ecx, esp
push eax
call fcn.00465e10
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 7
call fcn.0040c430
add esp, 0x30
mov byte [ebp - 4], 9
xor ecx, ecx
mov dword [ebp - 0xbd], 0x796c6c02
mov dword [ebp - 0xb9], 0x7e627860
mov word [ebp - 0xb5], 0xa
mov byte [ebp - 0xb3], 1
nop dword [eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0xbd], al
inc ecx
cmp ecx, 9
jb 0x449520
lea edx, [ebp - 0xbd]
mov byte [ebp - 0xb3], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449541
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.0046b480
add esp, 0xc
test eax, eax
jne 0x4497c9
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004df090
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 0x4495b6
sub ecx, edx
lea eax, [ebp - 0x2e0]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402830
mov byte [ebp - 4], 0xa
xor ecx, ecx
mov dword [ebp - 0xc8], 0x796c6c02
mov dword [ebp - 0xc4], 0x7e627860
mov word [ebp - 0xc0], 0xa
mov byte [ebp - 0xbe], 1
nop dword [eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0xc8], al
inc ecx
cmp ecx, 9
jb 0x449600
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 0x449636
sub ecx, edx
lea eax, [ebp - 0xc8]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402830
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 0x449755
sub eax, esi
test esi, esi
jne 0x449693
xor edi, edi
jmp 0x449739
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.004e0880
mov edi, eax
add esp, 0xc
test edi, edi
je 0x449752
mov edx, dword [ebp - 0x3c]
mov ecx, edi
sub esi, 4
jb 0x4496d1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4496d6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4496c0
cmp esi, 0xfffffffc
je 0x44970a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x449703
cmp esi, 0xfffffffd
je 0x44970a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x449703
cmp esi, 0xfffffffe
je 0x44970a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x449703
cmp esi, 0xffffffff
je 0x44970a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44970a
sbb eax, eax
or eax, 1
jmp 0x44970c
xor eax, eax
test eax, eax
je 0x44972e
mov eax, dword [ebp - 0x38]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x1c]
push edi
call fcn.004e0880
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4496b6
jmp 0x449752
sub edi, dword [ebp - 0x40]
cmp edi, 0xffffffff
je 0x449752
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.00468570
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0xa
je 0x44978b
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x449781
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x4497c3
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4497b9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov edi, dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov dword [ebp - 0xeb], 0x69666c02
xor ecx, ecx
mov dword [ebp - 0xe7], 0x6068617e
mov dword [ebp - 0xe3], 0x14637b
mov byte [ebp - 0xdf], 1
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0xeb], al
inc ecx
cmp ecx, 0xb
jb 0x4497f0
lea edx, [ebp - 0xeb]
mov byte [ebp - 0xdf], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449811
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.0046b480
add esp, 0xc
test eax, eax
jne 0x449a93
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004df090
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 0x449886
sub ecx, edx
lea eax, [ebp - 0x2e0]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402830
mov byte [ebp - 4], 0xc
xor ecx, ecx
mov dword [ebp - 0xf8], 0x69666c02
mov dword [ebp - 0xf4], 0x6068617e
mov dword [ebp - 0xf0], 0x14637b
mov byte [ebp - 0xec], 1
nop word [eax + eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0xf8], al
inc ecx
cmp ecx, 0xb
jb 0x4498d0
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 0x449906
sub ecx, edx
lea eax, [ebp - 0xf8]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402830
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 0x449a25
sub eax, esi
test esi, esi
jne 0x449963
xor edi, edi
jmp 0x449a09
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.004e0880
mov edi, eax
add esp, 0xc
test edi, edi
je 0x449a22
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x4499a1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4499a6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x449990
cmp esi, 0xfffffffc
je 0x4499da
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4499d3
cmp esi, 0xfffffffd
je 0x4499da
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4499d3
cmp esi, 0xfffffffe
je 0x4499da
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4499d3
cmp esi, 0xffffffff
je 0x4499da
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4499da
sbb eax, eax
or eax, 1
jmp 0x4499dc
xor eax, eax
test eax, eax
je 0x4499fe
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004e0880
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x449986
jmp 0x449a22
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x449a22
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.00468570
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0xc
je 0x449a5b
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x449a51
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449a93
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449a89
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov dword [ebp - 0x113], 0x6f7a7d02
xor ecx, ecx
mov dword [ebp - 0x10f], 0x617f7c79
mov dword [ebp - 0x10b], 0x777d7969
mov word [ebp - 0x107], 0x16
mov byte [ebp - 0x105], 1
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x113], al
inc ecx
cmp ecx, 0xd
jb 0x449ac3
lea edx, [ebp - 0x113]
mov byte [ebp - 0x105], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449ae4
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.0046b480
add esp, 0xc
test eax, eax
jne 0x449cbf
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004df090
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 0x449b60
sub ecx, edx
lea eax, [ebp - 0x2e0]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402830
mov byte [ebp - 4], 0xe
xor ecx, ecx
mov dword [ebp - 0x122], 0x6f7a7d02
mov dword [ebp - 0x11e], 0x617f7c79
mov dword [ebp - 0x11a], 0x777d7969
mov word [ebp - 0x116], 0x16
mov byte [ebp - 0x114], 1
nop dword [eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x122], al
inc ecx
cmp ecx, 0xd
jb 0x449bb0
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 0x449be6
sub ecx, edx
lea eax, [ebp - 0x122]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402830
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.0046b480
add esp, 0xc
cmp eax, 0xffffffff
je 0x449c52
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.00468570
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0xe
je 0x449c87
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x449c7d
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push esi
call fcn.004dd0b2
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449cbf
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449cb5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov dword [ebp - 0xd3], 0x7a796902
xor ecx, ecx
mov dword [ebp - 0xcf], 0x6f796d6f
mov word [ebp - 0xcb], 0xa
mov byte [ebp - 0xc9], 1
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0xd3], al
inc ecx
cmp ecx, 9
jb 0x449ce5
lea edx, [ebp - 0xd3]
mov byte [ebp - 0xc9], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449d06
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.0046b480
add esp, 0xc
test eax, eax
jne 0x449f93
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004df090
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 0x449d80
sub ecx, edx
lea eax, [ebp - 0x2e0]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402830
mov byte [ebp - 4], 0x10
xor ecx, ecx
mov dword [ebp - 0xde], 0x7a796902
mov dword [ebp - 0xda], 0x6f796d6f
mov word [ebp - 0xd6], 0xa
mov byte [ebp - 0xd4], 1
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0xde], al
inc ecx
cmp ecx, 9
jb 0x449dc3
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 0x449e00
sub ecx, edx
lea eax, [ebp - 0xde]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402830
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 0x449f25
sub eax, esi
test esi, esi
jne 0x449e5d
xor edi, edi
jmp 0x449f09
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.004e0880
mov edi, eax
add esp, 0xc
test edi, edi
je 0x449f22
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x449ea1
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x449ea6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x449e90
cmp esi, 0xfffffffc
je 0x449eda
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x449ed3
cmp esi, 0xfffffffd
je 0x449eda
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x449ed3
cmp esi, 0xfffffffe
je 0x449eda
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x449ed3
cmp esi, 0xffffffff
je 0x449eda
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x449eda
sbb eax, eax
or eax, 1
jmp 0x449edc
xor eax, eax
test eax, eax
je 0x449efe
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004e0880
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x449e80
jmp 0x449f22
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x449f22
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.00468570
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x10
je 0x449f5b
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x449f51
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449f93
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449f89
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov dword [ebp - 0x142], 0x69666402
xor ecx, ecx
mov dword [ebp - 0x13e], 0x7e6c606a
mov dword [ebp - 0x13a], 0x6670747f
mov dword [ebp - 0x136], 0x1001172
nop dword [eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x142], al
inc ecx
cmp ecx, 0xe
jb 0x449fc0
lea edx, [ebp - 0x142]
mov byte [ebp - 0x133], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449fe1
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.0046b480
add esp, 0xc
test eax, eax
jne 0x44a273
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004df090
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 0x44a060
sub ecx, edx
lea eax, [ebp - 0x2e0]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402830
mov byte [ebp - 4], 0x12
xor ecx, ecx
mov dword [ebp - 0x132], 0x69666402
mov dword [ebp - 0x12e], 0x7e6c606a
mov dword [ebp - 0x12a], 0x6670747f
mov dword [ebp - 0x126], 0x1001172
nop word [eax + eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x132], al
inc ecx
cmp ecx, 0xe
jb 0x44a0b0
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 0x44a0e6
sub ecx, edx
lea eax, [ebp - 0x132]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402830
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 0x44a205
sub eax, esi
test esi, esi
jne 0x44a143
xor edi, edi
jmp 0x44a1e9
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.004e0880
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44a202
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x44a181
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44a186
add ecx, 4
add edx, 4
sub esi, 4
jae 0x44a170
cmp esi, 0xfffffffc
je 0x44a1ba
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44a1b3
cmp esi, 0xfffffffd
je 0x44a1ba
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44a1b3
cmp esi, 0xfffffffe
je 0x44a1ba
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44a1b3
cmp esi, 0xffffffff
je 0x44a1ba
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44a1ba
sbb eax, eax
or eax, 1
jmp 0x44a1bc
xor eax, eax
test eax, eax
je 0x44a1de
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004e0880
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44a166
jmp 0x44a202
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x44a202
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.00468570
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x12
je 0x44a23b
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x44a231
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x44a273
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a269
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov dword [ebp - 0xa8], 0x696c7a02
xor ecx, ecx
mov dword [ebp - 0xa4], 0xb79626e
mov word [ebp - 0xa0], 0x100
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0xa8], al
inc ecx
cmp ecx, 8
jb 0x44a292
lea edx, [ebp - 0xa8]
mov byte [ebp - 0x9f], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x44a2b3
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.0046b480
add esp, 0xc
test eax, eax
jne 0x44a533
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004df090
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 0x44a330
sub ecx, edx
lea eax, [ebp - 0x2e0]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402830
mov byte [ebp - 4], 0x14
xor ecx, ecx
mov dword [ebp - 0xb2], 0x696c7a02
mov dword [ebp - 0xae], 0xb79626e
mov word [ebp - 0xaa], 0x100
nop dword [eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0xb2], al
inc ecx
cmp ecx, 8
jb 0x44a370
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 0x44a3a6
sub ecx, edx
lea eax, [ebp - 0xb2]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402830
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 0x44a4c5
sub eax, esi
test esi, esi
jne 0x44a403
xor edi, edi
jmp 0x44a4a9
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.004e0880
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44a4c2
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x44a441
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44a446
add ecx, 4
add edx, 4
sub esi, 4
jae 0x44a430
cmp esi, 0xfffffffc
je 0x44a47a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44a473
cmp esi, 0xfffffffd
je 0x44a47a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44a473
cmp esi, 0xfffffffe
je 0x44a47a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44a473
cmp esi, 0xffffffff
je 0x44a47a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44a47a
sbb eax, eax
or eax, 1
jmp 0x44a47c
xor eax, eax
test eax, eax
je 0x44a49e
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004e0880
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44a426
jmp 0x44a4c2
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x44a4c2
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.00468570
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x14
je 0x44a4fb
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x44a4f1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x44a533
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a529
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
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 0x44ab21
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 0x44a575
mov esi, dword [esi]
test eax, eax
je 0x44a7f0
push eax
push 0x2a
push esi
call fcn.004e0880
add esp, 0xc
test eax, eax
je 0x44a7f0
sub eax, esi
cmp eax, 0xffffffff
je 0x44a7f0
mov dword [ebp - 0x82], 0x304060f
xor ecx, ecx
mov word [ebp - 0x7e], 0x100
nop
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x82], al
inc ecx
cmp ecx, 4
jb 0x44a5b0
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 0x44a5e3
sub ecx, edx
lea eax, [ebp - 0x82]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402830
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 0x44a630
sub ecx, edx
lea eax, [ebp - 0x9e]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402830
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 0x44a682
mov edi, dword [esi]
mov dword [ebp - 0x38], edi
mov esi, dword [ebp - 0x24]
cmp esi, eax
ja 0x44a773
sub eax, esi
test esi, esi
jne 0x44a69a
xor edi, edi
jmp 0x44a757
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.004e0880
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44a770
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x44a6e1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44a6ea
add ecx, 4
add edx, 4
sub esi, 4
jae 0x44a6d0
cmp esi, 0xfffffffc
je 0x44a71e
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44a717
cmp esi, 0xfffffffd
je 0x44a71e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44a717
cmp esi, 0xfffffffe
je 0x44a71e
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44a717
cmp esi, 0xffffffff
je 0x44a71e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44a71e
sbb eax, eax
or eax, 1
jmp 0x44a720
xor eax, eax
test eax, eax
je 0x44a74c
mov eax, dword [ebp - 0x168]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x98]
push edi
call fcn.004e0880
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44a6c3
jmp 0x44a770
sub edi, dword [ebp - 0x38]
cmp edi, 0xffffffff
je 0x44a770
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.00468570
mov edx, dword [ebp - 0x1c]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x16
je 0x44a7a9
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x44a79f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov edi, dword [ebp - 0x18]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x44a562
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a7de
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
mov edi, dword [ebp - 0x18]
add esp, 8
jmp 0x44a562
add edi, dword [ebp - 0x174]
xor ecx, ecx
mov dword [ebp - 0x88], 0x304060f
mov word [ebp - 0x84], 0x100
nop dword [eax + eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x88], al
inc ecx
cmp ecx, 4
jb 0x44a810
lea esi, [ebp - 0x88]
mov byte [ebp - 0x83], 0
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x44a831
mov edx, dword [edi + 0x10]
sub esi, ecx
cmp dword [edi + 0x14], 0x10
jb 0x44a845
mov edi, dword [edi]
push esi
lea eax, [ebp - 0x88]
mov ecx, edi
push eax
push 0
call fcn.0046b480
add esp, 0xc
cmp eax, 0xffffffff
je 0x44aaec
mov dword [ebp - 0x8e], 0x303060f
xor ecx, ecx
mov word [ebp - 0x8a], 0x100
nop word [eax + eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x8e], al
inc ecx
cmp ecx, 4
jb 0x44a880
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 0x44a8b6
sub ecx, edx
lea eax, [ebp - 0x8e]
push ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.00402830
mov byte [ebp - 4], 0x18
xor ecx, ecx
mov dword [ebp - 0x94], 0x304060f
mov word [ebp - 0x90], 0x100
nop dword [eax + eax]
mov al, cl
add al, 0x27
xor byte [ebp + ecx - 0x94], al
inc ecx
cmp ecx, 4
jb 0x44a8f0
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 0x44a926
sub ecx, edx
lea eax, [ebp - 0x94]
push ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.00402830
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 0x44a979
mov edi, dword [esi]
mov dword [ebp - 0x38], edi
mov esi, dword [ebp - 0x24]
cmp esi, eax
ja 0x44aa6f
sub eax, esi
test esi, esi
jne 0x44a991
xor edi, edi
jmp 0x44aa53
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.004e0880
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44aa6c
nop word [eax + eax]
mov ecx, dword [ebp - 0x7c]
mov edx, edi
sub esi, 4
jb 0x44a9e1
nop word [eax + eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x44a9e6
add edx, 4
add ecx, 4
sub esi, 4
jae 0x44a9d0
cmp esi, 0xfffffffc
je 0x44aa1a
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x44aa13
cmp esi, 0xfffffffd
je 0x44aa1a
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x44aa13
cmp esi, 0xfffffffe
je 0x44aa1a
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x44aa13
cmp esi, 0xffffffff
je 0x44aa1a
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x44aa1a
sbb eax, eax
or eax, 1
jmp 0x44aa1c
xor eax, eax
test eax, eax
je 0x44aa48
mov eax, dword [ebp - 0x98]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x168]
push edi
call fcn.004e0880
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44a9c0
jmp 0x44aa6c
sub edi, dword [ebp - 0x38]
cmp edi, 0xffffffff
je 0x44aa6c
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.00468570
mov edx, dword [ebp - 0x1c]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x18
je 0x44aaa5
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x44aa9b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov edi, dword [ebp - 0x18]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x44a7f0
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44aada
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
mov edi, dword [ebp - 0x18]
add esp, 8
jmp 0x44a7f0
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 0x44a562
sub esp, 0xc
lea eax, [ebp - 0x174]
mov ecx, esp
mov dword [ebp - 0x7c], esp
push eax
call fcn.00464b50
sub esp, 0xc
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x98], esp
mov ecx, esp
push eax
call fcn.00464b50
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.00465e10
sub esp, 0x18
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x70]
mov ecx, esp
push eax
call fcn.00465e10
mov cl, byte [ebp - 0x75]
mov edx, esi
mov byte [ebp - 4], 9
call fcn.00447e30
add esp, 0x4c
lea ecx, [ebp - 0x174]
call fcn.00468000
lea ecx, [ebp - 0x1bc]
call fcn.00468000
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x44abe9
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44abdf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
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 0x44ac39
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44ac2f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
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 0x44ac92
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44ac88
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
add esp, 8
mov eax, dword [ebp - 0x194]
movzx eax, byte [eax]
sub eax, 1
je 0x44acbc
sub eax, 1
je 0x44acb0
inc dword [ebp - 0x188]
jmp 0x4491f4
add dword [ebp - 0x18c], 0x10
jmp 0x4491f4
mov eax, dword [ebp - 0x190]
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
call fcn.004672c0
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x190], eax
jmp 0x4491f4
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x10
jb 0x44ad0f
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44ad05
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44ad76
push ecx
push edx
call fcn.004dd0b2
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.004dc05c
mov ecx, eax
call fcn.00467ae0
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.00469c70
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 0x5316e8
push eax
call fcn.004dea9b
call fcn.004e2350
int3