Function at 0x456cc0
Capabilities:
Manipulate boot configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x572a63
mov eax, dword fs:[0]
push eax
sub esp, 0x288
mov eax, dword [0x5ebea4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0x1d1], cl
push 0xb0
lea eax, [ebp - 0x124]
push 0
push eax
call fcn.005471b0
add esp, 4
lea ecx, [ebp - 0x124]
call fcn.00459500
lea ecx, [ebp - 0x124]
mov dword [ebp - 4], 0
call fcn.004569e0
test al, al
je 0x458f90
push ecx
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
push 4
lea ecx, [ebp - 0x1c]
movq qword [ebp - 0x1c], xmm0
call fcn.0044ca20
push 2
push 0xffffffffffffffff
push 0xfffffffffffffffc
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 1
call fcn.00452a50
push 0
push 4
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1bc]
call fcn.0044c8b0
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [eax]
mov esi, dword [eax]
test ecx, ecx
je 0x456dbb
mov edx, dword [ebp - 0x1b4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x456db1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458fb6
push edx
push ecx
call fcn.0052f5d6
add esp, 8
xor edi, edi
mov ecx, 0xfffffffc
sub ecx, esi
mov eax, 0xffffffff
push 2
sbb eax, edi
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push esi
mov ecx, eax
call fcn.0044d210
push edi
push esi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1bc]
call fcn.0044c8b0
mov byte [ebp - 4], 2
mov edx, dword [eax]
mov ecx, edx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x1ac], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x456e23
sub ecx, dword [ebp - 0x1ac]
push ecx
push edx
lea ecx, [ebp - 0x4c]
call fcn.0044aa70
lea eax, [ebp - 0x4c]
mov ecx, 0x5ecab8
push eax
call fcn.00459450
mov edx, dword [ebp - 0x38]
cmp edx, 0x10
jb 0x456e7c
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x456e72
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458fbb
push edx
push ecx
call fcn.0052f5d6
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x1bc]
test ecx, ecx
je 0x456eba
mov edx, dword [ebp - 0x1b4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x456eb0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458fc0
push edx
push ecx
call fcn.0052f5d6
add esp, 8
add esi, 8
mov ecx, esi
adc edi, 0
neg ecx
mov dword [ebp - 0x1ac], edi
adc edi, 0
push 2
neg edi
push edi
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 4
mov ecx, eax
call fcn.0044d210
push 0
push 4
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1bc]
call fcn.0044c8b0
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [eax]
mov edi, dword [eax]
mov dword [ebp - 0x1b0], edi
test ecx, ecx
je 0x456f4f
mov edx, dword [ebp - 0x1b4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x456f45
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458fc5
push edx
push ecx
call fcn.0052f5d6
add esp, 8
add edi, esi
mov esi, 0
mov ecx, edi
adc esi, dword [ebp - 0x1ac]
neg ecx
mov eax, esi
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x1b0]
mov ecx, eax
call fcn.0044d210
push 0
push dword [ebp - 0x1b0]
lea ecx, [ebp - 0x124]
push dword [ebp - 0x1c]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1bc]
call fcn.0044c8b0
mov byte [ebp - 4], 3
mov edx, dword [eax]
mov ecx, edx
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x1ac], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x456fd0
sub ecx, dword [ebp - 0x1ac]
push ecx
push edx
lea ecx, [ebp - 0x4c]
call fcn.0044aa70
lea eax, [ebp - 0x4c]
mov ecx, 0x5ecad0
push eax
call fcn.00459450
mov edx, dword [ebp - 0x38]
cmp edx, 0x10
jb 0x457029
mov ecx, dword [ebp - 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45701f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458fca
push edx
push ecx
call fcn.0052f5d6
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x1bc]
test ecx, ecx
je 0x457067
mov edx, dword [ebp - 0x1b4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x45705d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458fcf
push edx
push ecx
call fcn.0052f5d6
add esp, 8
push 2
mov eax, esi
mov ecx, edi
not eax
not ecx
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 1
mov ecx, eax
call fcn.0044d210
push 0
push 1
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1bc]
call fcn.0044c8b0
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [eax]
mov al, byte [eax]
mov byte [0x5f27c4], al
test ecx, ecx
je 0x4570ee
mov edx, dword [ebp - 0x1b4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4570e4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458fd4
push edx
push ecx
call fcn.0052f5d6
add esp, 8
add edi, 5
mov ecx, edi
adc esi, 0
neg ecx
mov dword [ebp - 0x1ac], esi
adc esi, 0
push 2
neg esi
push esi
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 4
mov ecx, eax
call fcn.0044d210
push 0
push 4
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1bc]
call fcn.0044c8b0
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [eax]
mov esi, dword [eax]
mov dword [ebp - 0x1a8], esi
test ecx, ecx
je 0x457183
mov edx, dword [ebp - 0x1b4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x457179
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458fd9
push edx
push ecx
call fcn.0052f5d6
add esp, 8
add esi, edi
mov edi, 0
mov ecx, esi
adc edi, dword [ebp - 0x1ac]
neg ecx
mov eax, edi
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x1a8]
mov ecx, eax
call fcn.0044d210
push 0
push dword [ebp - 0x1a8]
lea ecx, [ebp - 0x124]
push dword [ebp - 0x1c]
call fcn.00452b50
lea edx, [ebp - 0x1c]
mov byte [ebp - 0x19d], 0x3b
lea ecx, [ebp - 0x1bc]
call fcn.0044c8b0
sub esp, 0x18
mov byte [ebp - 4], 4
mov eax, dword [eax]
mov ecx, esp
push dword [ebp - 0x1a8]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push eax
mov byte [ecx], 0
call fcn.0044aa70
mov dl, byte [ebp - 0x19d]
lea ecx, [ebp - 0x1c8]
call fcn.00448ff0
add esp, 0x18
mov dword [ebp - 0x1b0], eax
cmp eax, 0x5f311c
je 0x457266
mov ecx, 0x5f311c
call fcn.0044ac20
mov eax, dword [ebp - 0x1b0]
mov edx, dword [0x5f311c]
mov ecx, dword [eax]
mov dword [0x5f311c], ecx
mov dword [eax], edx
mov eax, dword [eax + 4]
mov ecx, dword [0x5f3120]
mov dword [0x5f3120], eax
mov eax, dword [ebp - 0x1b0]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x1c8]
call fcn.0044ac20
push 0x20
push dword [ebp - 0x1c8]
call fcn.0052f5d6
mov byte [ebp - 4], 1
add esp, 8
mov ecx, dword [ebp - 0x1bc]
test ecx, ecx
je 0x4572bf
mov edx, dword [ebp - 0x1b4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4572b5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458fde
push edx
push ecx
call fcn.0052f5d6
add esp, 8
add esi, 4
mov ecx, esi
adc edi, 0
neg ecx
mov eax, edi
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 4
mov ecx, eax
call fcn.0044d210
push 0
push 4
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1bc]
call fcn.0044c8b0
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x1b0], eax
test ecx, ecx
je 0x457356
mov edx, dword [ebp - 0x1b4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x457346
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458fe3
push edx
push ecx
call fcn.0052f5d6
mov eax, dword [ebp - 0x1b0]
add esp, 8
add esi, eax
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x1a8], esi
adc edi, 0
neg esi
mov eax, edi
mov dword [ebp - 0x1c0], edi
adc eax, 0
push 2
neg eax
push eax
push esi
call fcn.00452a50
mov esi, dword [ebp - 0x1b0]
lea eax, [ebp - 0x1c]
push eax
push esi
mov ecx, eax
call fcn.0044d210
push 0
push esi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
xorps xmm0, xmm0
mov byte [ebp - 0x19d], 0x3b
lea edx, [ebp - 0x1c]
movlpd qword [ebp - 0x54], xmm0
lea ecx, [ebp - 0x1bc]
call fcn.0044c8b0
sub esp, 0x18
mov byte [ebp - 4], 6
mov eax, dword [eax]
mov ecx, esp
push esi
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push eax
mov byte [ecx], 0
call fcn.0044aa70
mov dl, byte [ebp - 0x19d]
lea ecx, [ebp - 0x54]
call fcn.00448ff0
add esp, 0x18
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1bc]
test ecx, ecx
je 0x45744f
mov edx, dword [ebp - 0x1b4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x457427
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458fe8
push edx
push ecx
call fcn.0052f5d6
add esp, 8
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0
mov ecx, 0x5f3124
call fcn.0044ac20
mov edi, dword [ebp - 0x54]
mov esi, dword [edi]
cmp esi, edi
je 0x45751c
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0x4c]
call fcn.0044c140
push 4
push 0x5d8fdc
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 9
call fcn.00451c60
mov eax, dword [0x5f3124]
lea edx, [ebp - 0x4c]
push edx
mov dword [ebp - 0x1ac], eax
mov ecx, dword [eax + 4]
push ecx
push eax
mov dword [ebp - 0x1d0], ecx
call fcn.0044bbb0
mov edx, dword [0x5f3128]
mov ecx, 0x7fffffe
sub ecx, edx
cmp ecx, 1
jb 0x459001
lea ecx, [edx + 1]
mov dword [0x5f3128], ecx
mov ecx, dword [ebp - 0x1ac]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x1d0]
mov byte [ebp - 4], 8
mov dword [ecx], eax
mov edx, dword [ebp - 0x38]
cmp edx, 8
jb 0x457512
mov ecx, dword [ebp - 0x4c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x457508
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458fb6
push edx
push ecx
call fcn.0052f5d6
add esp, 8
mov esi, dword [esi]
cmp esi, edi
jne 0x457466
mov esi, dword [ebp - 0x1a8]
mov edi, dword [ebp - 0x1c0]
add esi, 4
mov ecx, esi
adc edi, 0
neg ecx
mov eax, edi
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 4
mov ecx, eax
call fcn.0044d210
push 0
push 4
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1cc]
call fcn.0044c8b0
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x1a8], eax
test ecx, ecx
je 0x4575bf
mov edx, dword [ebp - 0x1c4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4575af
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458fed
push edx
push ecx
call fcn.0052f5d6
mov eax, dword [ebp - 0x1a8]
add esp, 8
add esi, eax
mov ecx, esi
adc edi, 0
neg ecx
mov eax, edi
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x1a8]
mov ecx, eax
call fcn.0044d210
push 0
push dword [ebp - 0x1a8]
lea ecx, [ebp - 0x124]
push dword [ebp - 0x1c]
call fcn.00452b50
lea edx, [ebp - 0x1c]
mov byte [ebp - 0x19d], 0x3b
lea ecx, [ebp - 0x1e0]
call fcn.0044c8b0
sub esp, 0x18
mov byte [ebp - 4], 0xa
mov eax, dword [eax]
mov ecx, esp
push dword [ebp - 0x1a8]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push eax
mov byte [ecx], 0
call fcn.0044aa70
mov dl, byte [ebp - 0x19d]
lea ecx, [ebp - 0x1c8]
call fcn.00448ff0
add esp, 0x18
mov dword [ebp - 0x1b0], eax
cmp eax, 0x5f3114
je 0x45769a
mov ecx, 0x5f3114
call fcn.0044ac20
mov eax, dword [ebp - 0x1b0]
mov edx, dword [0x5f3114]
mov ecx, dword [eax]
mov dword [0x5f3114], ecx
mov dword [eax], edx
mov eax, dword [eax + 4]
mov ecx, dword [0x5f3118]
mov dword [0x5f3118], eax
mov eax, dword [ebp - 0x1b0]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x1c8]
call fcn.0044ac20
push 0x20
push dword [ebp - 0x1c8]
call fcn.0052f5d6
mov byte [ebp - 4], 8
add esp, 8
mov ecx, dword [ebp - 0x1e0]
test ecx, ecx
je 0x4576f3
mov edx, dword [ebp - 0x1d8]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4576e9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458ff2
push edx
push ecx
call fcn.0052f5d6
add esp, 8
add esi, 4
mov ecx, esi
adc edi, 0
neg ecx
mov eax, edi
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 4
mov ecx, eax
call fcn.0044d210
push 0
push 4
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1cc]
call fcn.0044c8b0
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x1b0], eax
test ecx, ecx
je 0x45778a
mov edx, dword [ebp - 0x1c4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x45777a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458ff7
push edx
push ecx
call fcn.0052f5d6
mov eax, dword [ebp - 0x1b0]
add esp, 8
add esi, eax
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x1a8], esi
adc edi, 0
neg esi
mov eax, edi
mov dword [ebp - 0x1c0], edi
adc eax, 0
push 2
neg eax
push eax
push esi
call fcn.00452a50
mov esi, dword [ebp - 0x1b0]
lea eax, [ebp - 0x1c]
push eax
push esi
mov ecx, eax
call fcn.0044d210
push 0
push esi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
mov byte [ebp - 0x19d], 0x3b
lea ecx, [ebp - 0x1e0]
call fcn.0044c8b0
sub esp, 0x18
mov byte [ebp - 4], 0xc
mov eax, dword [eax]
mov ecx, esp
push esi
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push eax
mov byte [ecx], 0
call fcn.0044aa70
mov dl, byte [ebp - 0x19d]
lea ecx, [ebp - 0x1c8]
call fcn.00448ff0
add esp, 0x18
mov esi, eax
cmp esi, 0x5f30d4
je 0x457857
mov ecx, 0x5f30d4
call fcn.0044ac20
mov ecx, dword [esi]
mov edx, dword [0x5f30d4]
mov dword [0x5f30d4], ecx
mov dword [esi], edx
mov ecx, dword [0x5f30d8]
mov eax, dword [esi + 4]
mov dword [0x5f30d8], eax
mov dword [esi + 4], ecx
lea ecx, [ebp - 0x1c8]
call fcn.0044ac20
push 0x20
push dword [ebp - 0x1c8]
call fcn.0052f5d6
mov byte [ebp - 4], 8
add esp, 8
mov ecx, dword [ebp - 0x1e0]
test ecx, ecx
je 0x4578b0
mov edx, dword [ebp - 0x1d8]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4578a6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458ffc
push edx
push ecx
call fcn.0052f5d6
add esp, 8
cmp dword [0x5ecacc], 0x10
mov edx, 0x5ecab8
mov eax, dword [0x5ecac8]
mov edi, 0x5ecab8
cmovae edx, dword [0x5ecab8]
add eax, edx
mov dword [ebp - 0x3c], 0
cmp dword [0x5ecacc], 0x10
mov dword [ebp - 0x1ac], eax
cmovae edi, dword [0x5ecab8]
xor ecx, ecx
sub eax, edi
mov word [ebp - 0x4c], cx
push eax
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x38], 7
call fcn.0044bc80
push dword [ebp - 0x1a4]
lea ecx, [ebp - 0x4c]
push dword [ebp - 0x1ac]
push edi
call fcn.0044be10
mov byte [ebp - 4], 0xe
mov eax, dword [0x5f30d4]
mov esi, dword [eax]
lea eax, [ebp - 0x4c]
push eax
mov edi, dword [esi + 4]
push edi
push esi
call fcn.0044bbb0
mov edx, eax
mov ecx, 0x7fffffe
mov eax, dword [0x5f30d8]
sub ecx, eax
cmp ecx, 1
jb 0x459001
inc eax
mov dword [0x5f30d8], eax
mov dword [esi + 4], edx
mov dword [edi], edx
mov ecx, 0x5f30f8
mov byte [ebp - 4], 0xf
call fcn.0044ac20
mov eax, dword [0x5f3108]
sub eax, dword [0x5f3100]
sar eax, 2
cmp eax, 0x10
jae 0x45797f
push 0x10
mov ecx, 0x5f3100
call fcn.00459a10
mov eax, dword [0x5f30f8]
mov ecx, 0x5f3100
mov dword [ebp - 0x1ac], eax
lea eax, [ebp - 0x1ac]
push eax
push 0x10
call fcn.00459890
mov byte [ebp - 4], 0xe
mov edi, dword [0x5f30d4]
mov dword [0x5f310c], 7
mov dword [0x5f3110], 8
mov dword [ebp - 0x1a4], edi
mov esi, dword [edi]
mov dword [ebp - 0x1ac], esi
cmp esi, edi
je 0x457b5c
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0x34]
call fcn.0044c140
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x34]
cmp dword [ebp - 0x20], 8
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
cmovae ecx, edx
mov dword [ebp - 0x1b0], ecx
lea ecx, [ebp - 0x34]
cmovae ecx, edx
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d0], 0
lea ecx, [ecx + eax*2]
lea eax, [ebp - 0x34]
cmovae eax, edx
mov edx, ecx
sub edx, eax
inc edx
shr edx, 1
cmp eax, ecx
cmova edx, dword [ebp - 0x1d8]
test edx, edx
je 0x457a77
mov edi, eax
mov esi, edx
sub dword [ebp - 0x1b0], edi
nop dword [eax + eax]
movzx eax, word [edi]
push eax
call fcn.0054c95a
mov ecx, dword [ebp - 0x1b0]
lea edi, [edi + 2]
add esp, 4
mov word [edi + ecx - 2], ax
mov eax, dword [ebp - 0x1d0]
inc eax
mov dword [ebp - 0x1d0], eax
cmp eax, esi
jne 0x457a40
mov esi, dword [ebp - 0x1ac]
mov edi, dword [ebp - 0x1a4]
push 1
xor eax, eax
mov dword [ebp - 0x5c], 0
push 0x5d84f0
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
call fcn.0044a910
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x34]
cmp dword [ebp - 0x20], 8
lea ecx, [ebp - 0x6c]
push dword [ebp - 0x24]
cmovae eax, dword [ebp - 0x34]
push eax
call fcn.00451c60
push dword [ebp - 0x1a4]
lea eax, [ebp - 0x6c]
mov ecx, 0x5f30f4
push eax
lea eax, [ebp - 0x1b8]
push eax
call fcn.00459f70
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x58]
cmp edx, 8
jb 0x457b0e
mov ecx, dword [ebp - 0x6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x457b04
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458fb6
push edx
push ecx
call fcn.0052f5d6
add esp, 8
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x20]
cmp edx, 8
jb 0x457b4c
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x457b42
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x458fb6
push edx
push ecx
call fcn.0052f5d6
add esp, 8
mov esi, dword [esi]
mov dword [ebp - 0x1ac], esi
cmp esi, edi
jne 0x4579d1
mov edi, dword [ebp - 0x1a8]
mov esi, dword [ebp - 0x1c0]
add edi, 4
mov ecx, edi
adc esi, 0
neg ecx
mov eax, esi
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 4
mov ecx, eax
call fcn.0044d210
push 0
push 4
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1bc]
call fcn.0044c8b0
mov ecx, dword [ebp - 0x1bc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x1a8], eax
test ecx, ecx
je 0x457bff
mov edx, dword [ebp - 0x1b4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x457bef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45900b
push edx
push ecx
call fcn.0052f5d6
mov eax, dword [ebp - 0x1a8]
add esp, 8
add edi, eax
mov ecx, edi
adc esi, 0
neg ecx
mov eax, esi
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x1a8]
mov ecx, eax
call fcn.0044d210
push 0
push dword [ebp - 0x1a8]
lea ecx, [ebp - 0x124]
push dword [ebp - 0x1c]
call fcn.00452b50
mov ecx, 0x5f316c
call fcn.0044ac20
mov ecx, 0x5f3150
mov byte [ebp - 4], 0x12
call fcn.0044ac20
mov eax, dword [0x5f3160]
sub eax, dword [0x5f3158]
sar eax, 2
cmp eax, 0x10
jae 0x457c7c
push 0x10
mov ecx, 0x5f3158
call fcn.00459a10
mov eax, dword [0x5f3150]
mov ecx, 0x5f3158
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x1a4]
push eax
push 0x10
call fcn.00459890
lea edx, [ebp - 0x1c]
mov dword [0x5f3164], 7
lea ecx, [ebp - 0x1bc]
mov dword [0x5f3168], 8
mov byte [ebp - 4], 0xe
mov byte [ebp - 0x19d], 0x3b
call fcn.0044c8b0
sub esp, 0x18
mov byte [ebp - 4], 0x13
mov eax, dword [eax]
mov ecx, esp
push dword [ebp - 0x1a8]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push eax
mov byte [ecx], 0
call fcn.0044aa70
mov dl, byte [ebp - 0x19d]
lea ecx, [ebp - 0x1c8]
call fcn.00448ff0
add esp, 0x18
mov dword [ebp - 0x1ac], eax
cmp eax, 0x5f316c
je 0x457d47
mov ecx, 0x5f316c
call fcn.0044ac20
mov eax, dword [ebp - 0x1ac]
mov edx, dword [0x5f316c]
mov ecx, dword [eax]
mov dword [0x5f316c], ecx
mov dword [eax], edx
mov eax, dword [eax + 4]
mov ecx, dword [0x5f3170]
mov dword [0x5f3170], eax
mov eax, dword [ebp - 0x1ac]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x1c8]
call fcn.0044ac20
push 0x20
push dword [ebp - 0x1c8]
call fcn.0052f5d6
mov byte [ebp - 4], 0xe
add esp, 8
mov ecx, dword [ebp - 0x1bc]
test ecx, ecx
je 0x457da0
mov edx, dword [ebp - 0x1b4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x457d96
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x459010
push edx
push ecx
call fcn.0052f5d6
add esp, 8
push 0xa
xor eax, eax
mov dword [ebp - 0x24], 0
push str.ntuser.ini
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], ax
call fcn.0044a910
mov byte [ebp - 4], 0x15
lea edx, [ebp - 0x34]
mov eax, dword [0x5f316c]
push edx
mov dword [ebp - 0x1a4], eax
mov ecx, dword [eax + 4]
push ecx
push eax
mov dword [ebp - 0x1c4], ecx
call fcn.0045a130
mov edx, eax
mov ecx, 0x7fffffe
mov eax, dword [0x5f3170]
sub ecx, eax
cmp ecx, 1
jb 0x459015
inc eax
mov dword [0x5f3170], eax
mov eax, dword [ebp - 0x1a4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x1c4]
mov byte [ebp - 4], 0xe
mov dword [eax], edx
mov edx, dword [ebp - 0x20]
cmp edx, 8
jb 0x457e52
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x457e48
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45901f
push edx
push ecx
call fcn.0052f5d6
add esp, 8
push 8
xor eax, eax
mov dword [ebp - 0x24], 0
push str.boot.ini
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], ax
call fcn.0044a910
mov byte [ebp - 4], 0x16
lea edx, [ebp - 0x34]
mov eax, dword [0x5f316c]
push edx
mov dword [ebp - 0x1a4], eax
mov ecx, dword [eax + 4]
push ecx
push eax
mov dword [ebp - 0x1c4], ecx
call fcn.0045a130
mov edx, eax
mov ecx, 0x7fffffe
mov eax, dword [0x5f3170]
sub ecx, eax
cmp ecx, 1
jb 0x459024
inc eax
mov dword [0x5f3170], eax
mov eax, dword [ebp - 0x1a4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x1c4]
mov byte [ebp - 4], 0xe
mov dword [eax], edx
mov edx, dword [ebp - 0x20]
cmp edx, 8
jb 0x457f04
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x457efa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45902e
push edx
push ecx
call fcn.0052f5d6
add esp, 8
push 0xc
xor eax, eax
mov dword [ebp - 0x24], 0
push str.ntdetect.com
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], ax
call fcn.0044a910
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x34]
mov eax, dword [0x5f316c]
push edx
mov dword [ebp - 0x1a4], eax
mov ecx, dword [eax + 4]
push ecx
push eax
mov dword [ebp - 0x1c4], ecx
call fcn.0045a130
mov edx, eax
mov ecx, 0x7fffffe
mov eax, dword [0x5f3170]
sub ecx, eax
cmp ecx, 1
jb 0x459033
inc eax
mov dword [0x5f3170], eax
mov eax, dword [ebp - 0x1a4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x1c4]
mov byte [ebp - 4], 0xe
mov dword [eax], edx
mov edx, dword [ebp - 0x20]
cmp edx, 8
jb 0x457fb6
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x457fac
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45903d
push edx
push ecx
call fcn.0052f5d6
add esp, 8
push 5
xor eax, eax
mov dword [ebp - 0x24], 0
push str.ntldr
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], ax
call fcn.0044a910
mov byte [ebp - 4], 0x18
lea edx, [ebp - 0x34]
mov eax, dword [0x5f316c]
push edx
mov dword [ebp - 0x1a4], eax
mov ecx, dword [eax + 4]
push ecx
push eax
mov dword [ebp - 0x1c4], ecx
call fcn.0045a130
mov edx, eax
mov ecx, 0x7fffffe
mov eax, dword [0x5f3170]
sub ecx, eax
cmp ecx, 1
jb 0x459042
inc eax
mov dword [0x5f3170], eax
mov eax, dword [ebp - 0x1a4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x1c4]
mov byte [ebp - 4], 0xe
mov dword [eax], edx
mov edx, dword [ebp - 0x20]
cmp edx, 8
jb 0x458068
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x45805e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45904c
push edx
push ecx
call fcn.0052f5d6
add esp, 8
push 0xa
xor eax, eax
mov dword [ebp - 0x24], 0
push str.NTUSER.DAT
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], ax
call fcn.0044a910
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0x34]
mov eax, dword [0x5f316c]
push edx
mov dword [ebp - 0x1a4], eax
mov ecx, dword [eax + 4]
push ecx
push eax
mov dword [ebp - 0x1c4], ecx
call fcn.0045a130
mov edx, dword [0x5f3170]
mov ecx, eax
mov eax, 0x7fffffe
sub eax, edx
cmp eax, 1
jb 0x459051
lea eax, [edx + 1]
mov dword [0x5f3170], eax
mov eax, dword [ebp - 0x1a4]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x1c4]
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x20]
mov dword [eax], ecx
cmp edx, 8
jb 0x45811d
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x458113
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45905b
push edx
push ecx
call fcn.0052f5d6
add esp, 8
xor eax, eax
mov dword [ebp - 0x24], 0
push str.bootmgr
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], ax
call fcn.0044a8e0
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x1a
push eax
mov ecx, 0x5f316c
call fcn.00459260
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xe
call fcn.004494f0
push str.BOOTNXT
lea ecx, [ebp - 0x34]
call fcn.00449590
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x1b
push eax
mov ecx, 0x5f316c
call fcn.00459260
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xe
call fcn.004494f0
push str.BOOTTGT
lea ecx, [ebp - 0x34]
call fcn.00449590
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x1c
push eax
mov ecx, 0x5f316c
call fcn.00459260
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xe
call fcn.004494f0
add edi, 4
mov ecx, edi
adc esi, 0
neg ecx
mov dword [ebp - 0x1c0], esi
adc esi, 0
push 2
neg esi
push esi
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 4
mov ecx, eax
call fcn.0044d210
push 0
push 4
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1bc]
call fcn.0044c8b0
lea ecx, [ebp - 0x1bc]
mov eax, dword [eax]
mov esi, dword [eax]
call fcn.0044c9d0
mov eax, dword [ebp - 0x1c0]
add edi, esi
mov ecx, edi
mov dword [ebp - 0x1a8], edi
adc eax, 0
neg ecx
mov dword [ebp - 0x1c0], eax
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push esi
mov ecx, eax
call fcn.0044d210
push 0
push esi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
mov byte [ebp - 0x19d], 0x3b
lea ecx, [ebp - 0x1bc]
call fcn.0044c8b0
sub esp, 0x18
mov byte [ebp - 4], 0x1d
mov ecx, esp
push esi
push dword [eax]
call fcn.004594d0
mov dl, byte [ebp - 0x19d]
lea ecx, [ebp - 0x1c8]
call fcn.00448ff0
add esp, 0x18
mov ecx, 0x5f30e4
push eax
call fcn.004592b0
lea ecx, [ebp - 0x1c8]
call fcn.004494a0
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 0xe
call fcn.0044c9d0
cmp dword [0x5ecb88], 0
jne 0x4582cb
call fcn.0045a530
push 0x5ecb78
mov ecx, 0x5f30e4
call fcn.00449450
mov ecx, 0x5f312c
call fcn.004590e0
mov ecx, dword [0x5f30e4]
mov dword [ebp - 0x1a4], ecx
mov eax, dword [ecx]
mov dword [ebp - 0x1ac], eax
cmp eax, ecx
je 0x458394
add eax, 8
lea ecx, [ebp - 0x34]
push eax
call fcn.0044c140
lea eax, [ebp - 0x1c4]
mov byte [ebp - 4], 0x1e
push eax
lea ecx, [ebp - 0x34]
call fcn.00459330
lea ecx, [ebp - 0x34]
mov edi, dword [eax]
lea eax, [ebp - 0x1d8]
push eax
call fcn.00459310
lea ecx, [ebp - 0x34]
mov esi, dword [eax]
lea eax, [ebp - 0x1d0]
push eax
call fcn.00459330
push edi
push esi
lea ecx, [ebp - 0x1b0]
push dword [eax]
call fcn.00459c70
add esp, 0xc
lea eax, [ebp - 0x34]
mov ecx, 0x5f312c
push eax
lea eax, [ebp - 0x1b8]
push eax
call fcn.00459ce0
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xe
call fcn.004494f0
mov eax, dword [ebp - 0x1ac]
mov eax, dword [eax]
mov dword [ebp - 0x1ac], eax
cmp eax, dword [ebp - 0x1a4]
jne 0x458300
mov edi, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1c0]
add edi, 4
mov ecx, edi
adc eax, 0
neg ecx
mov dword [ebp - 0x1c0], eax
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 4
mov ecx, eax
call fcn.0044d210
push 0
push 4
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1bc]
call fcn.0044c8b0
lea ecx, [ebp - 0x1bc]
mov eax, dword [eax]
mov esi, dword [eax]
call fcn.0044c9d0
mov eax, dword [ebp - 0x1c0]
add edi, esi
mov ecx, edi
adc eax, 0
neg ecx
mov dword [ebp - 0x1c0], eax
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push esi
mov ecx, eax
call fcn.0044d210
push 0
push esi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
mov byte [ebp - 0x19d], 0x3b
lea ecx, [ebp - 0x204]
call fcn.0044c8b0
sub esp, 0x18
mov byte [ebp - 4], 0x1f
mov ecx, esp
push esi
push dword [eax]
call fcn.004594d0
mov dl, byte [ebp - 0x19d]
lea ecx, [ebp - 0x1dc]
call fcn.00448ff0
add esp, 0x18
mov ecx, 0x5f30ec
push eax
call fcn.004592b0
lea ecx, [ebp - 0x1dc]
call fcn.004494a0
lea ecx, [ebp - 0x204]
mov byte [ebp - 4], 0xe
call fcn.0044c9d0
mov eax, dword [ebp - 0x1c0]
add edi, 4
push 2
adc eax, 0
mov dword [ebp - 0x1c0], eax
mov ecx, edi
neg ecx
adc eax, 0
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 4
mov ecx, eax
call fcn.0044d210
push 0
push 4
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1f8]
call fcn.0044c8b0
lea ecx, [ebp - 0x1f8]
mov eax, dword [eax]
mov esi, dword [eax]
call fcn.0044c9d0
mov eax, esi
mov edx, 0
add eax, edi
mov edi, eax
mov dword [ebp - 0x1d0], eax
adc edx, dword [ebp - 0x1c0]
mov ecx, edi
neg ecx
mov dword [ebp - 0x1a8], edx
push 2
adc edx, 0
neg edx
push edx
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push esi
mov ecx, eax
call fcn.0044d210
push 0
push esi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1ec]
call fcn.0044c8b0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x13c]
push dword [eax]
call fcn.00449770
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 0x22
call fcn.0044c9d0
lea eax, [ebp - 0x1a4]
push eax
lea ecx, [ebp - 0x13c]
call fcn.004495f0
lea ecx, [ebp - 0x13c]
mov esi, dword [eax]
lea eax, [ebp - 0x1c4]
push eax
call fcn.00449610
push ecx
push esi
lea ecx, [ebp - 0x34]
push dword [eax]
call fcn.0044b550
push eax
mov ecx, 0x5ecb18
call fcn.00449550
lea ecx, [ebp - 0x34]
call fcn.004494f0
push str..txt
mov ecx, 0x5ecb18
call fcn.00452d40
push str.LOCALAPPDATA
call fcn.00551fb6
add esp, 4
lea ecx, [ebp - 0x184]
push eax
call fcn.00449590
push str._systemprofile_
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0x23
call fcn.004494e0
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
je 0x458618
call fcn.00456200
jmp 0x458674
push str.LOCALAPPDATA
call fcn.00551fb6
add esp, 4
lea ecx, [ebp - 0x34]
push eax
call fcn.00449590
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x24
push eax
mov ecx, 0x5ecb30
call fcn.00451cd0
push 0x5d8ea4
lea ecx, [ebp - 0x34]
call fcn.00452d40
push 0x5ecb18
lea ecx, [ebp - 0x34]
call fcn.00452d70
lea eax, [ebp - 0x34]
mov ecx, 0x5ecb48
push eax
call fcn.00451cd0
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x23
call fcn.004494f0
push str.session.tmp
lea ecx, [ebp - 0x34]
call fcn.00449590
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x25
push eax
mov ecx, 0x5f316c
call fcn.00459260
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x23
call fcn.004494f0
push 0x5ecb18
mov ecx, 0x5f316c
call fcn.00449450
mov ecx, dword [0x5f316c]
mov dword [ebp - 0x1a4], ecx
mov eax, dword [ecx]
mov dword [ebp - 0x1ac], eax
cmp eax, ecx
je 0x458764
nop word [eax + eax]
add eax, 8
lea ecx, [ebp - 0x34]
push eax
call fcn.0044c140
lea eax, [ebp - 0x1c4]
mov byte [ebp - 4], 0x26
push eax
lea ecx, [ebp - 0x34]
call fcn.00459330
lea ecx, [ebp - 0x34]
mov edi, dword [eax]
lea eax, [ebp - 0x1d8]
push eax
call fcn.00459310
lea ecx, [ebp - 0x34]
mov esi, dword [eax]
lea eax, [ebp - 0x1b0]
push eax
call fcn.00459330
push edi
push esi
lea ecx, [ebp - 0x1c0]
push dword [eax]
call fcn.00459c70
add esp, 0xc
lea eax, [ebp - 0x34]
mov ecx, 0x5f314c
push eax
lea eax, [ebp - 0x1b8]
push eax
call fcn.00459ce0
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x23
call fcn.004494f0
mov eax, dword [ebp - 0x1ac]
mov eax, dword [eax]
mov dword [ebp - 0x1ac], eax
cmp eax, dword [ebp - 0x1a4]
jne 0x4586d0
mov edi, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1a8]
mov eax, 0xfffffffc
sub eax, edi
mov ecx, 0xffffffff
push 2
sbb ecx, esi
push ecx
push eax
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 4
mov ecx, eax
call fcn.0044d210
push 0
push 4
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1ec]
call fcn.0044c8b0
lea ecx, [ebp - 0x1ec]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [0x5f27ac], eax
call fcn.0044c9d0
add edi, 8
mov ecx, edi
adc esi, 0
neg ecx
mov eax, esi
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 4
mov ecx, eax
call fcn.0044d210
push 0
push 4
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1f8]
call fcn.0044c8b0
lea ecx, [ebp - 0x1f8]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [0x5f27b0], eax
call fcn.0044c9d0
push 2
mov eax, esi
mov ecx, edi
not eax
not ecx
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 1
mov ecx, eax
call fcn.0044d210
push 0
push 1
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x204]
call fcn.0044c8b0
mov eax, dword [eax]
cmp byte [eax], 0
lea ecx, [ebp - 0x204]
setne byte [0x5f27c1]
call fcn.0044c9d0
add edi, 2
mov ecx, edi
adc esi, 0
neg ecx
mov eax, esi
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 1
mov ecx, eax
call fcn.0044d210
push 0
push 1
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1bc]
call fcn.0044c8b0
lea ecx, [ebp - 0x1bc]
mov eax, dword [eax]
cmp byte [eax], 0
setne byte [0x5f27b5]
call fcn.0044c9d0
push 2
mov eax, esi
mov ecx, edi
not eax
not ecx
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
push 0
push 1
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x1e0]
call fcn.0044c8b0
lea ecx, [ebp - 0x1e0]
mov eax, dword [eax]
cmp byte [eax], 0
setne byte [0x5f27c0]
call fcn.0044c9d0
add edi, 2
mov ecx, edi
adc esi, 0
neg ecx
mov eax, esi
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
push 0
push 1
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x270]
call fcn.0044c8b0
lea ecx, [ebp - 0x270]
mov eax, dword [eax]
cmp byte [eax], 0
setne byte [0x5f27c2]
call fcn.0044c9d0
push 2
mov eax, esi
mov ecx, edi
not eax
not ecx
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
push 0
push 1
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x264]
call fcn.0044c8b0
lea ecx, [ebp - 0x264]
mov eax, dword [eax]
cmp byte [eax], 0
setne byte [0x5f278a]
call fcn.0044c9d0
add edi, 2
mov ecx, edi
adc esi, 0
neg ecx
mov eax, esi
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 1
mov ecx, eax
call fcn.0044d210
push 0
push 1
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x294]
call fcn.0044c8b0
lea ecx, [ebp - 0x294]
mov eax, dword [eax]
cmp byte [eax], 0
setne byte [0x5f27b4]
call fcn.0044c9d0
push 2
mov eax, esi
mov ecx, edi
not eax
not ecx
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 1
mov ecx, eax
call fcn.0044d210
push 0
push 1
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x210]
call fcn.0044c8b0
lea ecx, [ebp - 0x210]
mov eax, dword [eax]
cmp byte [eax], 0
setne byte [0x5f278b]
call fcn.0044c9d0
add edi, 2
adc esi, 0
mov ecx, edi
mov eax, esi
neg ecx
push 2
adc eax, 0
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
push 0
push 1
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x21c]
call fcn.0044c8b0
lea ecx, [ebp - 0x21c]
mov eax, dword [eax]
cmp byte [eax], 0
setne byte [0x5f27c6]
call fcn.0044c9d0
push 2
mov eax, esi
mov ecx, edi
not eax
not ecx
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 1
mov ecx, eax
call fcn.0044d210
push 0
push 1
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x228]
call fcn.0044c8b0
lea ecx, [ebp - 0x228]
mov eax, dword [eax]
mov al, byte [eax]
mov byte [ebp - 0x19d], al
call fcn.0044c9d0
mov al, byte [ebp - 0x19d]
add edi, 2
mov byte [0x5f27b7], al
mov ecx, edi
adc esi, 0
neg ecx
mov eax, esi
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
push 0
push 1
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x234]
call fcn.0044c8b0
lea ecx, [ebp - 0x234]
mov eax, dword [eax]
mov al, byte [eax]
mov byte [ebp - 0x19d], al
call fcn.0044c9d0
mov al, byte [ebp - 0x19d]
mov ecx, edi
mov byte [0x5f27c3], al
push 2
mov eax, esi
not ecx
not eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
push 0
push 1
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x240]
call fcn.0044c8b0
lea ecx, [ebp - 0x240]
mov eax, dword [eax]
mov al, byte [eax]
mov byte [0x5f27c7], al
call fcn.0044c9d0
add edi, 2
mov ecx, edi
adc esi, 0
neg ecx
mov eax, esi
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
push 0
push 1
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x24c]
call fcn.0044c8b0
lea ecx, [ebp - 0x24c]
mov eax, dword [eax]
cmp byte [eax], 0
setne byte [0x5f27c5]
call fcn.0044c9d0
push 2
mov eax, esi
mov ecx, edi
not eax
not ecx
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
push 0
push 1
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x258]
call fcn.0044c8b0
lea ecx, [ebp - 0x258]
mov eax, dword [eax]
cmp byte [eax], 0
setne byte [0x5f27b6]
call fcn.0044c9d0
add edi, 5
mov ecx, edi
adc esi, 0
neg ecx
mov dword [ebp - 0x1a8], esi
adc esi, 0
push 2
neg esi
push esi
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 4
mov ecx, eax
call fcn.0044d210
push 0
push 4
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x60]
call fcn.0044c8b0
lea ecx, [ebp - 0x60]
mov eax, dword [eax]
mov esi, dword [eax]
call fcn.0044c9d0
mov eax, dword [ebp - 0x1a8]
add edi, esi
mov ecx, edi
adc eax, 0
neg ecx
mov dword [ebp - 0x1a8], eax
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push esi
mov ecx, eax
call fcn.0044d210
push 0
push esi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x28]
call fcn.0044c8b0
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x154]
push dword [eax]
call fcn.00449770
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x29
call fcn.0044c9d0
lea eax, [ebp - 0x1a4]
push eax
lea ecx, [ebp - 0x154]
call fcn.004495f0
lea ecx, [ebp - 0x154]
mov esi, dword [eax]
lea eax, [ebp - 0x1c4]
push eax
call fcn.00449610
push ecx
push esi
lea ecx, [ebp - 0x288]
push dword [eax]
call fcn.0044b550
push eax
mov ecx, 0x5ecaa0
call fcn.00449550
lea ecx, [ebp - 0x288]
call fcn.004494f0
push 0x5d8fdc
mov ecx, 0x5ecaa0
call fcn.00452d40
cmp byte [ebp - 0x1d1], 0
jne 0x458f57
mov esi, dword [ebp - 0x1a8]
add edi, 8
mov ecx, edi
adc esi, 0
neg ecx
mov eax, esi
adc eax, 0
push 2
neg eax
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x1c]
push eax
push 8
mov ecx, eax
call fcn.0044d210
push 0
push 8
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x124]
call fcn.00452b50
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x60]
call fcn.0044c8b0
mov ecx, dword [eax]
mov eax, dword [ecx]
mov dword [0x5f27c8], eax
mov eax, dword [ecx + 4]
lea ecx, [ebp - 0x60]
mov dword [0x5f27cc], eax
call fcn.0044c9d0
mov eax, dword [0x5f27c8]
and eax, 0x1f
or eax, 0
jne 0x459060
push 2
push eax
push eax
lea ecx, [ebp - 0x124]
call fcn.00452a50
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x124]
call fcn.00452970
mov edx, dword [eax + 8]
add edx, dword [eax]
mov ecx, dword [eax + 0xc]
adc ecx, dword [eax + 4]
sub edx, dword [0x5f27c8]
sbb ecx, dword [0x5f27cc]
sub edx, edi
mov dword [0x5f27b8], edx
sbb ecx, esi
mov dword [0x5f27bc], ecx
call fcn.00454b00
push 0
push 0x20
lea edx, [ebp - 0x74]
movups xmm0, xmmword [eax]
lea ecx, [ebp - 0x19c]
movups xmmword [ebp - 0x74], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0x64], xmm0
call fcn.0044c810
add esp, 4
mov byte [ebp - 4], 0x2a
lea edx, [ebp - 0x19c]
lea ecx, [ebp - 0x288]
call fcn.00459b30
push 0x5ecab8
mov edx, eax
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x16c]
call fcn.00459bc0
add esp, 8
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 0x2d
call fcn.00449720
lea eax, [ebp - 0x1a4]
push eax
lea ecx, [ebp - 0x16c]
call fcn.004495f0
lea ecx, [ebp - 0x16c]
mov esi, dword [eax]
lea eax, [ebp - 0x1c4]
push eax
call fcn.00449610
push ecx
push esi
lea ecx, [ebp - 0x34]
push dword [eax]
call fcn.0044b550
lea eax, [ebp - 0x34]
mov ecx, 0x5ecae8
push eax
call fcn.00449550
lea ecx, [ebp - 0x34]
call fcn.004494f0
lea ecx, [ebp - 0x16c]
call fcn.00449720
lea ecx, [ebp - 0x19c]
call fcn.00449720
lea ecx, [ebp - 0x154]
call fcn.00449720
lea ecx, [ebp - 0x184]
call fcn.004494f0
lea ecx, [ebp - 0x13c]
call fcn.00449720
lea ecx, [ebp - 0x4c]
call fcn.004494f0
lea ecx, [ebp - 0x54]
call fcn.004494a0
lea ecx, [ebp - 0x1c]
call fcn.0044c9d0
lea ecx, [ebp - 0x124]
call fcn.004565d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0052f395
mov esp, ebp
pop ebp
ret
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
call fcn.0054b071
push str.list_T__too_long
call fcn.0052c7ee
call fcn.0054b071
call fcn.0054b071
push str.list_T__too_long
call fcn.0052c7ee
call fcn.0054b071
push str.list_T__too_long
call fcn.0052c7ee
call fcn.0054b071
push str.list_T__too_long
call fcn.0052c7ee
call fcn.0054b071
push str.list_T__too_long
call fcn.0052c7ee
call fcn.0054b071
push str.list_T__too_long
call fcn.0052c7ee
call fcn.0054b071
push str.Keys_array__32_0
lea ecx, [ebp - 0x60]
call fcn.00447e90
push 0x5e8c44
lea eax, [ebp - 0x60]
push eax
call fcn.0054809d
int3