Function at 0x449330
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 0x507cf2
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.004dbed2
add esp, 4
test eax, eax
jne 0x44afa2
test esi, esi
je 0x4493bd
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4493a0
sub ecx, edx
je 0x4493bd
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x4493bd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x536240
call fcn.004dbee3
add esp, 4
cmp byte [0x536148], 2
jne 0x44af5b
lea eax, [ebp - 0x194]
mov ecx, 0x536148
push eax
call fcn.004630e0
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 0x449469
sub ecx, 1
je 0x44945b
mov dword [ebp - 0x178], connect
sub eax, 1
je 0x449469
sub eax, 1
je 0x44945b
mov dword [ebp - 0x178], 1
jmp 0x449474
mov eax, dword [edx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x17c], eax
jmp 0x449474
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.004626a0
test al, al
je 0x44af5b
mov edi, dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea ecx, [ebp - 0x194]
call fcn.004627b0
movaps xmm0, xmmword [0x524de0]
mov esi, eax
movups xmmword [ebp - 0x2d], xmm0
mov byte [ebp - 0x1d], 1
xor ecx, ecx
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0x2d], al
inc ecx
cmp ecx, 0xf
jb 0x4494b2
lea eax, [ebp - 0x2d]
mov byte [ebp - 0x1d], 0
push eax
mov ecx, esi
call fcn.00469b20
lea ecx, [ebp - 0x1d4]
push ecx
mov ecx, eax
call fcn.00469c60
mov byte [ebp - 4], 1
xor ecx, ecx
mov dword [ebp - 0x104], 0x89879f9b
mov dword [ebp - 0x100], 0x9c8688b2
mov dword [ebp - 0xfc], 0x1008194
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0x104], al
inc ecx
cmp ecx, 0xa
jb 0x449501
lea eax, [ebp - 0x104]
mov byte [ebp - 0xf9], 0
push eax
mov ecx, esi
call fcn.00469b20
lea ecx, [ebp - 0x1b0]
push ecx
mov ecx, eax
call fcn.00469c60
mov byte [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x14f], 0x89879f9b
mov dword [ebp - 0x14b], 0x9c8088b2
mov dword [ebp - 0x147], 0x819795
mov byte [ebp - 0x143], 1
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0x14f], al
inc ecx
cmp ecx, 0xb
jb 0x449560
lea eax, [ebp - 0x14f]
mov byte [ebp - 0x143], 0
push eax
mov ecx, esi
call fcn.00469b20
lea ecx, [ebp - 0x70]
push ecx
mov ecx, eax
call fcn.00469c60
mov byte [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x15d], 0x89879f9b
mov dword [ebp - 0x159], 0x8a869db2
mov dword [ebp - 0x155], 0x9698ad94
mov word [ebp - 0x151], 0x100
nop
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0x15d], al
inc ecx
cmp ecx, 0xc
jb 0x4495c0
lea eax, [ebp - 0x15d]
mov byte [ebp - 0x150], 0
push eax
mov ecx, esi
call fcn.00469b20
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.00469c60
cmp dword [eax + 0x14], 0x10
jb 0x4495f9
mov eax, dword [eax]
push eax
call fcn.004ea4b7
mov ecx, dword [ebp - 0x44]
add esp, 4
mov dword [ebp - 0x164], eax
cmp ecx, 0x10
jb 0x44963c
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449632
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
add esp, 8
movaps xmm0, xmmword [0x526420]
xor ecx, ecx
movups xmmword [ebp - 0x32], xmm0
mov dword [ebp - 0x22], 0x8a88888c
mov word [ebp - 0x1e], 0x100
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0x32], al
inc ecx
cmp ecx, 0x14
jb 0x449656
lea eax, [ebp - 0x32]
mov byte [ebp - 0x1d], 0
push eax
mov ecx, esi
call fcn.00469b20
cmp byte [eax], 4
jne 0x44afa8
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 0x4496b7
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.00465a60
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 3
call fcn.0040c3e0
add esp, 0x30
mov byte [ebp - 4], 7
xor ecx, ecx
mov dword [ebp - 0x74], 0x100cac5
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0x74], al
inc ecx
cmp ecx, 2
jb 0x449703
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 0x449737
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.00465a60
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 7
call fcn.0040c3e0
add esp, 0x30
mov byte [ebp - 4], 9
xor ecx, ecx
mov dword [ebp - 0xbd], 0xbfaeaecc
mov dword [ebp - 0xb9], 0xa0a0baa6
mov word [ebp - 0xb5], 0xd4
mov byte [ebp - 0xb3], 1
nop dword [eax]
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0xbd], al
inc ecx
cmp ecx, 9
jb 0x4497a0
lea edx, [ebp - 0xbd]
mov byte [ebp - 0xb3], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4497c1
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.0046b050
add esp, 0xc
test eax, eax
jne 0x449a49
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004debb0
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 0x449836
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], 0xbfaeaecc
mov dword [ebp - 0xc4], 0xa0a0baa6
mov word [ebp - 0xc0], 0xd4
mov byte [ebp - 0xbe], 1
nop dword [eax]
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0xc8], al
inc ecx
cmp ecx, 9
jb 0x449880
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 0x4498b6
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 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 - 0x1c], ecx
mov dword [ebp - 0x38], eax
sub eax, edi
push eax
push ecx
push edi
call fcn.004e03a0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4499d2
mov edx, dword [ebp - 0x3c]
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 - 0x38]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x1c]
push edi
call fcn.004e03a0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x449936
jmp 0x4499d2
sub edi, dword [ebp - 0x40]
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.004681d0
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0xa
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 0x44aff6
push ecx
push edx
call fcn.004dcbd1
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 0x44aff6
push ecx
push edx
call fcn.004dcbd1
add esp, 8
mov edi, dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov dword [ebp - 0xeb], 0xafa4aecc
xor ecx, ecx
mov dword [ebp - 0xe7], 0xbeaaa3b8
mov dword [ebp - 0xe3], 0xd6a1a5
mov byte [ebp - 0xdf], 1
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0xeb], al
inc ecx
cmp ecx, 0xb
jb 0x449a70
lea edx, [ebp - 0xeb]
mov byte [ebp - 0xdf], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449a91
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.0046b050
add esp, 0xc
test eax, eax
jne 0x449d13
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004debb0
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 0x449b06
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], 0xafa4aecc
mov dword [ebp - 0xf4], 0xbeaaa3b8
mov dword [ebp - 0xf0], 0xd6a1a5
mov byte [ebp - 0xec], 1
nop word [eax + eax]
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0xf8], al
inc ecx
cmp ecx, 0xb
jb 0x449b50
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 0x449b86
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 0x449ca5
sub eax, esi
test esi, esi
jne 0x449be3
xor edi, edi
jmp 0x449c89
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.004e03a0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x449ca2
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x449c21
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x449c26
add ecx, 4
add edx, 4
sub esi, 4
jae 0x449c10
cmp esi, 0xfffffffc
je 0x449c5a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x449c53
cmp esi, 0xfffffffd
je 0x449c5a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x449c53
cmp esi, 0xfffffffe
je 0x449c5a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x449c53
cmp esi, 0xffffffff
je 0x449c5a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x449c5a
sbb eax, eax
or eax, 1
jmp 0x449c5c
xor eax, eax
test eax, eax
je 0x449c7e
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004e03a0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x449c06
jmp 0x449ca2
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x449ca2
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.004681d0
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0xc
je 0x449cdb
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x449cd1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449d13
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449d09
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
add esp, 8
mov dword [ebp - 0x113], 0xa9b8bfcc
xor ecx, ecx
mov dword [ebp - 0x10f], 0xbfbdbebf
mov dword [ebp - 0x10b], 0xb1bfbbb7
mov word [ebp - 0x107], 0xd0
mov byte [ebp - 0x105], 1
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0x113], al
inc ecx
cmp ecx, 0xd
jb 0x449d43
lea edx, [ebp - 0x113]
mov byte [ebp - 0x105], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449d64
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.0046b050
add esp, 0xc
test eax, eax
jne 0x449f3f
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004debb0
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 0x449de0
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], 0xa9b8bfcc
mov dword [ebp - 0x11e], 0xbfbdbebf
mov dword [ebp - 0x11a], 0xb1bfbbb7
mov word [ebp - 0x116], 0xd0
mov byte [ebp - 0x114], 1
nop dword [eax]
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0x122], al
inc ecx
cmp ecx, 0xd
jb 0x449e30
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 0x449e66
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.0046b050
add esp, 0xc
cmp eax, 0xffffffff
je 0x449ed2
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.004681d0
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0xe
je 0x449f07
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x449efd
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push esi
call fcn.004dcbd1
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x449f3f
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x449f35
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
add esp, 8
mov dword [ebp - 0xd3], 0xbcbbabcc
xor ecx, ecx
mov dword [ebp - 0xcf], 0xb1bbafa9
mov word [ebp - 0xcb], 0xd4
mov byte [ebp - 0xc9], 1
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0xd3], al
inc ecx
cmp ecx, 9
jb 0x449f65
lea edx, [ebp - 0xd3]
mov byte [ebp - 0xc9], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x449f86
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.0046b050
add esp, 0xc
test eax, eax
jne 0x44a213
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004debb0
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 0x44a000
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], 0xbcbbabcc
mov dword [ebp - 0xda], 0xb1bbafa9
mov word [ebp - 0xd6], 0xd4
mov byte [ebp - 0xd4], 1
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0xde], al
inc ecx
cmp ecx, 9
jb 0x44a043
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 0x44a080
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 0x44a1a5
sub eax, esi
test esi, esi
jne 0x44a0dd
xor edi, edi
jmp 0x44a189
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.004e03a0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44a1a2
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x44a121
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44a126
add ecx, 4
add edx, 4
sub esi, 4
jae 0x44a110
cmp esi, 0xfffffffc
je 0x44a15a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44a153
cmp esi, 0xfffffffd
je 0x44a15a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44a153
cmp esi, 0xfffffffe
je 0x44a15a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44a153
cmp esi, 0xffffffff
je 0x44a15a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44a15a
sbb eax, eax
or eax, 1
jmp 0x44a15c
xor eax, eax
test eax, eax
je 0x44a17e
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004e03a0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44a100
jmp 0x44a1a2
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x44a1a2
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.004681d0
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x10
je 0x44a1db
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x44a1d1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x44a213
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a209
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
add esp, 8
mov dword [ebp - 0x142], 0xafa4a6cc
xor ecx, ecx
mov dword [ebp - 0x13e], 0xa0aea2ac
mov dword [ebp - 0x13a], 0xa0b2b6a1
mov dword [ebp - 0x136], 0x100d3b4
nop dword [eax]
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0x142], al
inc ecx
cmp ecx, 0xe
jb 0x44a240
lea edx, [ebp - 0x142]
mov byte [ebp - 0x133], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x44a261
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.0046b050
add esp, 0xc
test eax, eax
jne 0x44a4f3
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004debb0
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 0x44a2e0
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], 0xafa4a6cc
mov dword [ebp - 0x12e], 0xa0aea2ac
mov dword [ebp - 0x12a], 0xa0b2b6a1
mov dword [ebp - 0x126], 0x100d3b4
nop word [eax + eax]
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0x132], al
inc ecx
cmp ecx, 0xe
jb 0x44a330
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 0x44a366
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 0x44a485
sub eax, esi
test esi, esi
jne 0x44a3c3
xor edi, edi
jmp 0x44a469
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.004e03a0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44a482
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x44a401
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44a406
add ecx, 4
add edx, 4
sub esi, 4
jae 0x44a3f0
cmp esi, 0xfffffffc
je 0x44a43a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44a433
cmp esi, 0xfffffffd
je 0x44a43a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44a433
cmp esi, 0xfffffffe
je 0x44a43a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44a433
cmp esi, 0xffffffff
je 0x44a43a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44a43a
sbb eax, eax
or eax, 1
jmp 0x44a43c
xor eax, eax
test eax, eax
je 0x44a45e
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004e03a0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44a3e6
jmp 0x44a482
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x44a482
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.004681d0
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x12
je 0x44a4bb
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x44a4b1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x44a4f3
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a4e9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
add esp, 8
mov dword [ebp - 0xa8], 0xafaeb8cc
xor ecx, ecx
mov dword [ebp - 0xa4], 0xd5bba0a8
mov word [ebp - 0xa0], 0x100
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0xa8], al
inc ecx
cmp ecx, 8
jb 0x44a512
lea edx, [ebp - 0xa8]
mov byte [ebp - 0x9f], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x44a533
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.0046b050
add esp, 0xc
test eax, eax
jne 0x44a7b3
push 0x104
push eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.004debb0
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 0x44a5b0
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], 0xafaeb8cc
mov dword [ebp - 0xae], 0xd5bba0a8
mov word [ebp - 0xaa], 0x100
nop dword [eax]
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0xb2], al
inc ecx
cmp ecx, 8
jb 0x44a5f0
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 0x44a626
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 0x44a745
sub eax, esi
test esi, esi
jne 0x44a683
xor edi, edi
jmp 0x44a729
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.004e03a0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44a742
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x44a6c1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44a6c6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x44a6b0
cmp esi, 0xfffffffc
je 0x44a6fa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44a6f3
cmp esi, 0xfffffffd
je 0x44a6fa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44a6f3
cmp esi, 0xfffffffe
je 0x44a6fa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44a6f3
cmp esi, 0xffffffff
je 0x44a6fa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44a6fa
sbb eax, eax
or eax, 1
jmp 0x44a6fc
xor eax, eax
test eax, eax
je 0x44a71e
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x38]
push edi
call fcn.004e03a0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44a6a6
jmp 0x44a742
sub edi, dword [ebp - 0x1c]
cmp edi, 0xffffffff
je 0x44a742
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.004681d0
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x14
je 0x44a77b
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x44a771
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x44a7b3
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44a7a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
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 0x44ada1
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 0x44a7f5
mov esi, dword [esi]
test eax, eax
je 0x44aa70
push eax
push 0x2a
push esi
call fcn.004e03a0
add esp, 0xc
test eax, eax
je 0x44aa70
sub eax, esi
cmp eax, 0xffffffff
je 0x44aa70
mov dword [ebp - 0x82], 0xc5c6c4c1
xor ecx, ecx
mov word [ebp - 0x7e], 0x100
nop
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0x82], al
inc ecx
cmp ecx, 4
jb 0x44a830
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 0x44a863
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 0x44a8b0
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 0x44a902
mov edi, dword [esi]
mov dword [ebp - 0x38], edi
mov esi, dword [ebp - 0x24]
cmp esi, eax
ja 0x44a9f3
sub eax, esi
test esi, esi
jne 0x44a91a
xor edi, edi
jmp 0x44a9d7
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.004e03a0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44a9f0
mov edx, dword [ebp - 0x40]
mov ecx, edi
sub esi, 4
jb 0x44a961
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44a96a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x44a950
cmp esi, 0xfffffffc
je 0x44a99e
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44a997
cmp esi, 0xfffffffd
je 0x44a99e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44a997
cmp esi, 0xfffffffe
je 0x44a99e
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44a997
cmp esi, 0xffffffff
je 0x44a99e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x44a99e
sbb eax, eax
or eax, 1
jmp 0x44a9a0
xor eax, eax
test eax, eax
je 0x44a9cc
mov eax, dword [ebp - 0x168]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x98]
push edi
call fcn.004e03a0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44a943
jmp 0x44a9f0
sub edi, dword [ebp - 0x38]
cmp edi, 0xffffffff
je 0x44a9f0
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.004681d0
mov edx, dword [ebp - 0x1c]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x16
je 0x44aa29
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x44aa1f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
add esp, 8
mov edi, dword [ebp - 0x18]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x44a7e2
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44aa5e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
mov edi, dword [ebp - 0x18]
add esp, 8
jmp 0x44a7e2
add edi, dword [ebp - 0x174]
xor ecx, ecx
mov dword [ebp - 0x88], 0xc5c6c4c1
mov word [ebp - 0x84], 0x100
nop dword [eax + eax]
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0x88], al
inc ecx
cmp ecx, 4
jb 0x44aa90
lea esi, [ebp - 0x88]
mov byte [ebp - 0x83], 0
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x44aab1
mov edx, dword [edi + 0x10]
sub esi, ecx
cmp dword [edi + 0x14], 0x10
jb 0x44aac5
mov edi, dword [edi]
push esi
lea eax, [ebp - 0x88]
mov ecx, edi
push eax
push 0
call fcn.0046b050
add esp, 0xc
cmp eax, 0xffffffff
je 0x44ad6c
mov dword [ebp - 0x8e], 0xc5c1c4c1
xor ecx, ecx
mov word [ebp - 0x8a], 0x100
nop word [eax + eax]
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0x8e], al
inc ecx
cmp ecx, 4
jb 0x44ab00
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 0x44ab36
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], 0xc5c6c4c1
mov word [ebp - 0x90], 0x100
nop dword [eax + eax]
mov al, cl
sub al, 0x17
xor byte [ebp + ecx - 0x94], al
inc ecx
cmp ecx, 4
jb 0x44ab70
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 0x44aba6
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 0x44abf9
mov edi, dword [esi]
mov dword [ebp - 0x38], edi
mov esi, dword [ebp - 0x24]
cmp esi, eax
ja 0x44acef
sub eax, esi
test esi, esi
jne 0x44ac11
xor edi, edi
jmp 0x44acd3
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.004e03a0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44acec
nop word [eax + eax]
mov ecx, dword [ebp - 0x7c]
mov edx, edi
sub esi, 4
jb 0x44ac61
nop word [eax + eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x44ac66
add edx, 4
add ecx, 4
sub esi, 4
jae 0x44ac50
cmp esi, 0xfffffffc
je 0x44ac9a
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x44ac93
cmp esi, 0xfffffffd
je 0x44ac9a
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x44ac93
cmp esi, 0xfffffffe
je 0x44ac9a
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x44ac93
cmp esi, 0xffffffff
je 0x44ac9a
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x44ac9a
sbb eax, eax
or eax, 1
jmp 0x44ac9c
xor eax, eax
test eax, eax
je 0x44acc8
mov eax, dword [ebp - 0x98]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x168]
push edi
call fcn.004e03a0
mov esi, dword [ebp - 0x24]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44ac40
jmp 0x44acec
sub edi, dword [ebp - 0x38]
cmp edi, 0xffffffff
je 0x44acec
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.004681d0
mov edx, dword [ebp - 0x1c]
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 0x18
je 0x44ad25
mov ecx, dword [ebp - 0x20]
mov eax, edx
inc ecx
cmp ecx, 0x1000
jb 0x44ad1b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
add esp, 8
mov edi, dword [ebp - 0x18]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x44aa70
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44ad5a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
mov edi, dword [ebp - 0x18]
add esp, 8
jmp 0x44aa70
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 0x44a7e2
sub esp, 0xc
lea eax, [ebp - 0x174]
mov ecx, esp
mov dword [ebp - 0x7c], esp
push eax
call fcn.004647a0
sub esp, 0xc
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x98], esp
mov ecx, esp
push eax
call fcn.004647a0
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.00465a60
sub esp, 0x18
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x70]
mov ecx, esp
push eax
call fcn.00465a60
mov cl, byte [ebp - 0x75]
mov edx, esi
mov byte [ebp - 4], 9
call fcn.004480b0
add esp, 0x4c
lea ecx, [ebp - 0x174]
call fcn.00467c60
lea ecx, [ebp - 0x1bc]
call fcn.00467c60
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x44ae69
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44ae5f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
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 0x44aeb9
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44aeaf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
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 0x44af12
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44af08
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
add esp, 8
mov eax, dword [ebp - 0x194]
movzx eax, byte [eax]
sub eax, 1
je 0x44af3c
sub eax, 1
je 0x44af30
inc dword [ebp - 0x188]
jmp 0x449474
add dword [ebp - 0x18c], 0x10
jmp 0x449474
mov eax, dword [ebp - 0x190]
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
call fcn.00466f10
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x190], eax
jmp 0x449474
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x10
jb 0x44af8f
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x44af85
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44aff6
push ecx
push edx
call fcn.004dcbd1
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.004dbb7b
mov ecx, eax
call fcn.00467740
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.004698d0
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.004de5bb
call fcn.004e1e70
int3