Function at 0x4162e0
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bbf86
mov eax, dword fs:[0]
push eax
sub esp, 0x3d8
mov eax, dword [0x4e27e0]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov edi, edx
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x108], eax
xor edx, edx
push 0x23
mov eax, str.CFFConfig:_ParsePreferences__szKey:
lea esi, [ebp - 0xd0]
mov dword [ebp - 0x104], edi
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xb8], 7
mov dword [ebp - 0xbc], ebx
mov word [ebp - 0xcc], dx
call fcn.004033f0
mov eax, esi
push eax
mov ecx, edi
mov byte [ebp - 4], 1
call fcn.00402ec0
add esp, 4
mov byte [ebp - 4], bl
cmp dword [ebp - 0xb8], 8
jb 0x416384
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.0047cc0e
add esp, 4
xor edx, edx
mov edi, 7
push 0x25
mov eax, str.CFFConfig:_ParsePreferences__szValue:
lea esi, [ebp - 0xd0]
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xbc], ebx
mov word [ebp - 0xcc], dx
call fcn.004033f0
mov ecx, dword [ebp - 0xf4]
mov eax, esi
push eax
mov byte [ebp - 4], 2
call fcn.00402ec0
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0xb8], 8
jb 0x4163e1
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.0047cc0e
add esp, 4
xor edx, edx
push 0x23
mov eax, str.CFFConfig:_ParsePreferences__ptype:
lea esi, [ebp - 0xd0]
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xbc], ebx
mov word [ebp - 0xcc], dx
call fcn.004033f0
mov ecx, dword [ebp + 0xc]
mov byte [ebp - 4], 3
call fcn.00402c10
mov byte [ebp - 4], 0
cmp dword [ebp - 0xb8], 8
jb 0x416430
mov eax, dword [ebp - 0xcc]
push eax
call fcn.0047cc0e
add esp, 4
push ebx
mov esi, 0xf
push 0x4cc6b4
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x74], ebx
mov byte [ebp - 0x84], 0
call fcn.004095a0
mov edi, dword [ebp - 0x108]
add edi, 0x3c
mov byte [ebp - 4], 4
cmp dword [edi + 0x18], 8
mov byte [ebp - 0xb2], 0
mov byte [ebp - 0xa9], 0
mov dword [ebp - 0xfc], ebx
jb 0x41647f
mov eax, dword [edi + 4]
jmp 0x416482
lea eax, [edi + 4]
push 3
lea ecx, [ebp - 0x3c4]
push eax
lea eax, [ebp - 0x3c8]
mov dword [ebp - 0x3c8], ecx
call fcn.0040b300
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x3c8]
push edx
lea eax, [ebp - 0x30c]
push eax
call fcn.00417a90
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x3c8]
lea ecx, [ebp - 0x3c4]
cmp eax, ecx
je 0x4164d0
push eax
call fcn.0049d99b
add esp, 4
cmp dword [ebp - 0x2b8], ebx
jne 0x41658d
xor edx, edx
push 0x30
mov eax, str.CFFConfig:_ParsePreferences__unable_to_open_file
lea esi, [ebp - 0xd0]
mov dword [ebp - 0xb8], 7
mov dword [ebp - 0xbc], ebx
mov word [ebp - 0xcc], dx
call fcn.004033f0
mov eax, esi
push eax
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.00402ec0
add esp, 4
cmp dword [ebp - 0xb8], 8
jb 0x416530
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.0047cc0e
add esp, 4
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 4
call fcn.00413670
lea edx, [ebp - 0x2b4]
push edx
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004b705e
add esp, 4
cmp dword [ebp - 0x70], 0x10
jb 0x41656d
mov eax, dword [ebp - 0x84]
push eax
call fcn.0047cc0e
add esp, 4
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.0049bee5
mov esp, ebp
pop ebp
ret 0xc
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], 0
mov byte [ebp - 4], 9
mov edx, dword [0x4e803c]
mov eax, dword [edx + 0xc]
mov ecx, 0x4e803c
call eax
add eax, 0x10
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x104]
mov byte [ebp - 4], 0xa
xor ecx, ecx
push 0xffffffffffffffff
mov word [ebp - 0x4c], cx
push ebx
lea ecx, [ebp - 0x50]
mov byte [ebp - 0xb1], 1
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], ebx
call fcn.004030c0
mov eax, dword [ebp - 0x104]
mov byte [ebp - 4], 0xb
xor edx, edx
push 1
push 0x4d0298
call fcn.00410eb0
mov esi, eax
cmp esi, 0xffffffff
je 0x41661b
push 4
lea ebx, [ebp - 0x50]
call fcn.00417e60
push 0xffffffffffffffff
push 0
mov ecx, ebx
call fcn.004030c0
lea edx, [esi + 4]
mov eax, ebx
jmp 0x4165ec
cmp dword [ebp - 0x38], 8
mov eax, dword [ebp - 0x4c]
jae 0x416627
lea eax, [ebp - 0x4c]
push 3
lea edx, [ebp - 0x3c4]
push eax
lea eax, [ebp - 0x3c8]
mov dword [ebp - 0x3c8], edx
call fcn.0040b300
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0xc
mov edi, dword [ebp - 0x3c8]
push eax
call fcn.00417ba0
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x3c8]
lea ecx, [ebp - 0x3c4]
cmp eax, ecx
je 0x416674
push eax
call fcn.0049d99b
add esp, 4
mov edx, dword [ebp - 0x30c]
mov ecx, dword [edx + 4]
push 0xa
lea ecx, [ebp + ecx - 0x30c]
call fcn.00414f30
lea ecx, [ebp - 0x34]
push eax
lea eax, [ebp - 0x30c]
push eax
call fcn.00418360
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + eax + 8]
add ecx, eax
and dl, 6
movsx eax, dl
add esp, 8
neg eax
sbb eax, eax
not eax
test ecx, eax
je 0x417302
mov edi, 0x10
cmp dword [ebp - 0x1c], edi
jb 0x4166d2
mov eax, dword [ebp - 0x30]
mov esi, eax
test eax, eax
jne 0x4166d5
jmp 0x4166e9
lea esi, [ebp - 0x30]
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4166e0
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0xb0]
call fcn.0040ec40
push 0xb
push str.user_pref__
lea ecx, [ebp - 0x34]
push ecx
xor eax, eax
call fcn.0040e5d0
cmp eax, 0xffffffff
je 0x4170e5
push 1
lea ebx, [eax + 0xb]
lea edx, [ebp - 0xa8]
push edx
lea eax, [ebp - 0x34]
push eax
mov eax, ebx
mov byte [ebp - 0xa8], 0x22
call fcn.0040e5d0
cmp eax, 0xffffffff
jne 0x416852
xor ecx, ecx
xor ebx, ebx
push 0x38
mov eax, str.CFFConfig:_ParsePreferences__couldnt_determine_key_name
lea esi, [ebp - 0xf0]
mov dword [ebp - 0xd8], 7
mov dword [ebp - 0xdc], ebx
mov word [ebp - 0xec], cx
call fcn.004033f0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], edi
jae 0x416774
lea eax, [ebp - 0x30]
push 3
lea edx, [ebp - 0x278]
push eax
lea eax, [ebp - 0x27c]
mov dword [ebp - 0x27c], edx
call fcn.0040b3c0
mov byte [ebp - 4], 0x10
xor eax, eax
mov word [ebp - 0xcc], ax
mov eax, dword [ebp - 0x27c]
mov edi, 7
mov ecx, eax
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xbc], ebx
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x4167b7
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [ebp - 0xd0]
call fcn.004033f0
lea ecx, [ebp - 0xf0]
push ecx
mov ecx, esi
mov byte [ebp - 4], 0x11
call fcn.00402ec0
mov esi, 8
add esp, 4
cmp dword [ebp - 0xb8], esi
jb 0x416803
mov edx, dword [ebp - 0xcc]
push edx
call fcn.0047cc0e
add esp, 4
xor eax, eax
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xbc], ebx
mov word [ebp - 0xcc], ax
mov eax, dword [ebp - 0x27c]
lea ecx, [ebp - 0x278]
cmp eax, ecx
je 0x416831
push eax
call fcn.0049d99b
add esp, 4
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0xd8], esi
jb 0x416674
mov edx, dword [ebp - 0xec]
push edx
call fcn.0047cc0e
jmp 0x416671
push 1
lea ecx, [ebp - 0xa8]
push ecx
lea edx, [ebp - 0x34]
mov edi, eax
push edx
sub edi, ebx
mov byte [ebp - 0xa8], 0x2c
call fcn.0040e5d0
mov esi, eax
cmp esi, 0xffffffff
jne 0x41695c
xor eax, eax
mov word [ebp - 0xec], ax
mov ebx, 7
xor edi, edi
push 0x35
mov eax, str.CFFConfig:_ParsePreferences__couldnt_determine_value
lea esi, [ebp - 0xf0]
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xdc], edi
call fcn.004033f0
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x1c], 0x10
mov eax, dword [ebp - 0x30]
jae 0x4168b8
lea eax, [ebp - 0x30]
push 3
lea ecx, [ebp - 0x278]
push eax
lea eax, [ebp - 0x27c]
mov dword [ebp - 0x27c], ecx
call fcn.0040b3c0
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x27c]
xor edx, edx
mov ecx, eax
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xbc], edi
mov word [ebp - 0xcc], dx
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, di
jne 0x4168f6
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [ebp - 0xd0]
call fcn.004033f0
lea eax, [ebp - 0xf0]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x14
call fcn.00402ec0
mov esi, 8
add esp, 4
cmp dword [ebp - 0xb8], esi
jb 0x416942
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.0047cc0e
add esp, 4
xor edx, edx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xbc], edi
mov word [ebp - 0xcc], dx
jmp 0x416818
push 1
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x34]
push ecx
mov eax, esi
mov byte [ebp - 0xa8], 0x22
call fcn.0040e5d0
cmp eax, 0xffffffff
jne 0x416a9a
push 1
lea eax, [ebp - 0xa8]
push eax
lea edx, [esi + 1]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x100], edx
mov byte [ebp - 0xa8], 0x29
push ecx
mov eax, esi
call fcn.0040e5d0
cmp eax, 0xffffffff
jne 0x416aba
xor edx, edx
mov ebx, 7
xor edi, edi
push 0x39
mov eax, str.CFFConfig:_ParsePreferences__couldnt_determine_value_end
lea esi, [ebp - 0xf0]
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xdc], edi
mov word [ebp - 0xec], dx
call fcn.004033f0
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x1c], 0x10
mov eax, dword [ebp - 0x30]
jae 0x4169eb
lea eax, [ebp - 0x30]
push 3
lea ecx, [ebp - 0x278]
push eax
lea eax, [ebp - 0x27c]
mov dword [ebp - 0x27c], ecx
call fcn.0040b3c0
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x27c]
xor edx, edx
mov ecx, eax
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xbc], edi
mov word [ebp - 0xcc], dx
lea esi, [ecx + 2]
lea esp, [esp]
mov dx, word [ecx]
add ecx, 2
cmp dx, di
jne 0x416a30
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [ebp - 0xd0]
call fcn.004033f0
lea eax, [ebp - 0xf0]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x17
call fcn.00402ec0
mov esi, 8
add esp, 4
cmp dword [ebp - 0xb8], esi
jb 0x416942
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.0047cc0e
add esp, 4
xor edx, edx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xbc], edi
mov word [ebp - 0xcc], dx
jmp 0x416818
push 1
lea ecx, [ebp - 0xa8]
inc eax
push ecx
lea edx, [ebp - 0x34]
mov dword [ebp - 0x100], eax
mov byte [ebp - 0xa8], 0x22
push edx
jmp 0x41699f
sub eax, dword [ebp - 0x100]
push edi
mov ecx, ebx
lea esi, [ebp - 0xa4]
lea edx, [ebp - 0x34]
mov dword [ebp - 0x118], eax
call fcn.004179a0
mov byte [ebp - 4], 0x18
xor eax, eax
mov word [ebp - 0xec], ax
mov ebx, 7
xor edi, edi
push 0x2b
mov eax, str.CFFConfig:_ParsePreferences__parsed_keyname
lea esi, [ebp - 0xf0]
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xdc], edi
call fcn.004033f0
mov byte [ebp - 4], 0x19
cmp dword [ebp - 0x8c], 0x10
mov eax, dword [ebp - 0xa0]
jae 0x416b22
lea eax, [ebp - 0xa0]
push 3
lea ecx, [ebp - 0x278]
push eax
lea eax, [ebp - 0x27c]
mov dword [ebp - 0x27c], ecx
call fcn.0040b3c0
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x27c]
xor edx, edx
mov ecx, eax
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xbc], edi
mov word [ebp - 0xcc], dx
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, di
jne 0x416b60
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [ebp - 0xd0]
call fcn.004033f0
lea eax, [ebp - 0xf0]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1b
call fcn.00402ec0
mov esi, 8
add esp, 4
cmp dword [ebp - 0xb8], esi
jb 0x416bac
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.0047cc0e
add esp, 4
mov eax, dword [ebp - 0x27c]
xor edx, edx
lea ecx, [ebp - 0x278]
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xbc], edi
mov word [ebp - 0xcc], dx
cmp eax, ecx
je 0x416bda
push eax
call fcn.0049d99b
add esp, 4
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0xd8], esi
jb 0x416bf5
mov edx, dword [ebp - 0xec]
push edx
call fcn.0047cc0e
add esp, 4
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x100]
push eax
lea esi, [ebp - 0x6c]
lea edx, [ebp - 0x34]
call fcn.004179a0
mov byte [ebp - 4], 0x1c
xor ecx, ecx
push 0x29
mov eax, str.CFFConfig:_ParsePreferences__parsed_value
lea esi, [ebp - 0xf0]
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xdc], edi
mov word [ebp - 0xec], cx
call fcn.004033f0
mov byte [ebp - 4], 0x1d
cmp dword [ebp - 0x54], 0x10
mov eax, dword [ebp - 0x68]
jae 0x416c48
lea eax, [ebp - 0x68]
push 3
lea edx, [ebp - 0x278]
push eax
lea eax, [ebp - 0x27c]
mov dword [ebp - 0x27c], edx
call fcn.0040b3c0
mov byte [ebp - 4], 0x1e
xor eax, eax
mov word [ebp - 0xcc], ax
mov eax, dword [ebp - 0x27c]
mov ecx, eax
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xbc], edi
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, di
jne 0x416c86
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [ebp - 0xd0]
call fcn.004033f0
lea ecx, [ebp - 0xf0]
push ecx
mov ecx, esi
mov byte [ebp - 4], 0x1f
call fcn.00402ec0
mov esi, 8
add esp, 4
cmp dword [ebp - 0xb8], esi
jb 0x416cd2
mov edx, dword [ebp - 0xcc]
push edx
call fcn.0047cc0e
add esp, 4
xor eax, eax
mov word [ebp - 0xcc], ax
mov eax, dword [ebp - 0x27c]
lea ecx, [ebp - 0x278]
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xbc], edi
cmp eax, ecx
je 0x416d00
push eax
call fcn.0049d99b
add esp, 4
mov byte [ebp - 4], 0x1c
cmp dword [ebp - 0xd8], esi
jb 0x416d1b
mov edx, dword [ebp - 0xec]
push edx
call fcn.0047cc0e
add esp, 4
cmp dword [ebp - 0x54], 0x10
mov ecx, dword [ebp - 0x68]
jae 0x416d27
lea ecx, [ebp - 0x68]
lea eax, [ebp - 0xd4]
push eax
call fcn.00417a00
lea ebx, [ebp - 0xd4]
mov byte [ebp - 4], 0x20
call fcn.00410d90
mov ebx, eax
call fcn.00410e10
push eax
lea ecx, [ebp - 0xd4]
call fcn.00409b50
cmp dword [ebp - 0x8c], 0x10
mov ecx, dword [ebp - 0xa0]
jae 0x416d6a
lea ecx, [ebp - 0xa0]
lea edx, [ebp - 0xf8]
push edx
call fcn.00417a00
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0xf8]
mov eax, edx
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416d85
mov esi, dword [ebp - 0x104]
sub eax, edi
sar eax, 1
mov edi, eax
mov eax, dword [esi + 0x14]
push edx
mov ecx, esi
call fcn.004034e0
test eax, eax
je 0x416db7
jg 0x416db3
cmp dword [ebp + 0xc], 1
je 0x416db7
xor cl, cl
jmp 0x416db9
mov cl, 1
test eax, eax
setl byte [ebp - 0xa8]
test cl, cl
jne 0x416e97
lea eax, [ebp - 0x158]
push eax
call fcn.004085b0
xor eax, eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov byte [ebp - 0x138], al
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], eax
mov byte [ebp - 0x12c], al
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov byte [ebp - 0x120], al
mov byte [ebp - 4], 0x22
cmp dword [ebp - 0x8c], 0x10
mov ecx, dword [ebp - 0xa0]
jae 0x416e27
lea ecx, [ebp - 0xa0]
mov eax, ecx
lea edi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x416e30
sub eax, edi
push ecx
lea edx, [ebp - 0x110]
lea edi, [eax + ecx]
push edx
lea eax, [ebp - 0x15c]
push eax
call fcn.00418510
mov bl, al
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x14c]
xor edi, edi
add esp, 0xc
cmp eax, edi
je 0x416e6e
push eax
call fcn.0047cc0e
add esp, 4
mov ecx, dword [ebp - 0x158]
push ecx
mov dword [ebp - 0x14c], edi
mov dword [ebp - 0x148], edi
mov dword [ebp - 0x144], edi
call fcn.0047cc0e
add esp, 4
test bl, bl
je 0x41705a
mov eax, dword [ebp + 0xc]
xor edi, edi
sub eax, edi
je 0x41714d
sub eax, 1
je 0x416f32
sub eax, 1
jne 0x41705a
mov eax, str.CFFConfig:_ParsePreferences__PARSING_TYPE_DELETE__found_key__value:
lea ecx, [ebp - 0x344]
call fcn.004034a0
mov ecx, dword [ebp - 0xf4]
lea edx, [ebp - 0x344]
push edx
mov byte [ebp - 4], 0x29
call fcn.00402ec0
add esp, 4
lea esi, [ebp - 0x344]
call fcn.004092a0
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax - 0xc]
sub dword [ebp - 0xfc], ecx
lea ecx, [ebp - 0xf8]
mov byte [ebp - 0xa9], 1
call fcn.0040e6a0
lea ecx, [ebp - 0xd4]
call fcn.0040e6a0
lea ecx, [ebp - 0x6c]
call fcn.00409ac0
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0xe
call fcn.00409ac0
jmp 0x416674
cmp byte [ebp - 0xb2], 0
jne 0x41705a
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp - 0xf4]
push edx
lea eax, [ebp - 0x114]
push eax
mov edx, ebx
mov ecx, esi
mov byte [ebp - 0xb2], 1
call fcn.00417730
add esp, 8
push eax
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x25
call fcn.00417d60
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 0x21
call fcn.0040e520
cmp byte [ebp - 0xa8], 0
je 0x416faa
mov edx, 0x4d06a0
lea edi, [ebp - 0xb0]
call fcn.004179d0
lea ecx, [ebp - 0x34]
call fcn.00409af0
mov edx, eax
call fcn.004179d0
mov eax, str.CFFConfig::ParsePreferences___PARSING_TYPE_SET:
lea ecx, [ebp - 0x328]
call fcn.004034a0
mov byte [ebp - 4], 0x26
cmp dword [ebp - 0x1c], 0x10
mov eax, dword [ebp - 0x30]
jae 0x416fca
lea eax, [ebp - 0x30]
push 3
lea ecx, [ebp - 0x278]
push eax
lea eax, [ebp - 0x27c]
mov dword [ebp - 0x27c], ecx
call fcn.0040b3c0
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x27c]
lea ecx, [ebp - 0x3e4]
call fcn.004034a0
lea edx, [ebp - 0x328]
push edx
mov ecx, eax
mov byte [ebp - 4], 0x28
call fcn.00402ec0
add esp, 4
lea esi, [ebp - 0x3e4]
call fcn.004092a0
mov eax, dword [ebp - 0x27c]
lea ecx, [ebp - 0x278]
cmp eax, ecx
je 0x417032
push eax
call fcn.0049d99b
add esp, 4
lea esi, [ebp - 0x328]
call fcn.004092a0
mov edx, dword [ebp - 0xd4]
mov ecx, dword [edx - 0xc]
mov eax, dword [ebx + 0x14]
sub eax, ecx
add dword [ebp - 0xfc], eax
mov byte [ebp - 0xa9], 1
xor edi, edi
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0xf8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417080
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0xd4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4170a6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, 0x10
cmp dword [ebp - 0x54], esi
jb 0x4170bc
mov ecx, dword [ebp - 0x68]
push ecx
call fcn.0047cc0e
add esp, 4
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], edi
mov byte [ebp - 0x68], 0
cmp dword [ebp - 0x8c], esi
jb 0x4170e5
mov edx, dword [ebp - 0xa0]
push edx
call fcn.0047cc0e
add esp, 4
cmp dword [ebp + 0xc], 0
jle 0x416674
cmp dword [ebp + 0xc], 2
jg 0x416674
mov edx, dword [ebp - 0xb0]
cmp dword [edx - 4], 1
jle 0x41711a
mov eax, dword [edx - 0xc]
push eax
lea ecx, [ebp - 0xb0]
call fcn.0040e6c0
mov edx, dword [ebp - 0xb0]
mov eax, edx
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417120
sub eax, esi
push eax
push edx
lea eax, [ebp - 0x88]
call fcn.00410b90
push 2
push 0x4d06a0
lea eax, [ebp - 0x88]
call fcn.00410b90
jmp 0x416674
mov eax, dword [ebp - 0xd4]
mov ecx, eax
lea edi, [ecx + 2]
jmp 0x417160
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x417160
mov esi, dword [ebp - 0xf4]
sub ecx, edi
sar ecx, 1
push ecx
call fcn.004033f0
lea esi, [ebp - 0x30c]
call fcn.004136e0
mov eax, str.CFFConfig::ParsePreferences___PARSING_TYPE_GET:
lea ecx, [ebp - 0xf0]
call fcn.004034a0
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0xd4]
cmp dword [eax - 4], 1
jle 0x4171bb
mov eax, dword [eax - 0xc]
push eax
lea ecx, [ebp - 0xd4]
call fcn.00403980
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x178]
call fcn.004034a0
lea ecx, [ebp - 0xf0]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x24
call fcn.00402ec0
mov edi, 8
add esp, 4
cmp dword [ebp - 0x160], edi
jb 0x4171f7
mov edx, dword [ebp - 0x174]
push edx
call fcn.0047cc0e
add esp, 4
xor ebx, ebx
xor eax, eax
mov esi, 7
mov dword [ebp - 0x160], esi
mov dword [ebp - 0x164], ebx
mov word [ebp - 0x174], ax
cmp dword [ebp - 0xd8], edi
jb 0x41722a
mov ecx, dword [ebp - 0xec]
push ecx
call fcn.0047cc0e
add esp, 4
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0xf8]
xor edx, edx
add eax, 0xfffffff0
mov word [ebp - 0xec], dx
mov dword [ebp - 0xd8], esi
mov dword [ebp - 0xdc], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x417265
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0xd4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41728b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x54], 0x10
jb 0x41729d
mov ecx, dword [ebp - 0x68]
push ecx
call fcn.0047cc0e
add esp, 4
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], 0
call fcn.00409ac0
lea edx, [ebp - 0x110]
push edx
mov byte [ebp - 4], 0xb
call fcn.00417c50
lea esi, [ebp - 0x50]
call fcn.004092a0
lea eax, [ebp - 0xb0]
call fcn.0040e520
lea ecx, [ebp - 0x34]
call fcn.00409ac0
lea eax, [ebp - 0x30c]
mov byte [ebp - 4], 4
call fcn.00413020
lea ecx, [ebp - 0x88]
call fcn.00409ac0
mov al, 1
jmp 0x41656f
lea ecx, [ebp - 0x304]
call fcn.00414680
test eax, eax
jne 0x41733c
mov ecx, dword [ebp - 0x30c]
mov ecx, dword [ecx + 4]
mov eax, dword [ebp + ecx - 0x304]
lea ecx, [ebp + ecx - 0x30c]
or eax, 2
cmp dword [ecx + 0x28], 0
jne 0x417334
or eax, 4
push 0
push eax
call fcn.00411750
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x4173c5
cmp eax, 2
jg 0x4173c5
cmp byte [ebp - 0xa9], 0
je 0x41748a
mov esi, dword [ebp - 0x108]
lea ecx, [ebp - 0x88]
mov edx, esi
call fcn.00417570
cmp dword [esi + 0x54], 8
jb 0x417377
mov eax, dword [esi + 0x40]
jmp 0x41737a
lea eax, [esi + 0x40]
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
push eax
call edi
mov ebx, 8
cmp dword [esi + 0x54], ebx
jb 0x417392
mov ecx, dword [esi + 0x40]
jmp 0x417395
lea ecx, [esi + 0x40]
cmp dword [esi + 0x70], ebx
jb 0x41739f
mov eax, dword [esi + 0x5c]
jmp 0x4173a2
lea eax, [esi + 0x5c]
push 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
setne byte [ebp - 0xb1]
cmp dword [esi + 0x70], ebx
jb 0x4173bf
mov esi, dword [esi + 0x5c]
jmp 0x4173c2
add esi, 0x5c
push esi
call edi
lea ecx, [ebp - 0x110]
push ecx
mov byte [ebp - 4], 0xb
call fcn.00417c50
cmp dword [ebp - 0x38], 8
jb 0x4173e7
mov edx, dword [ebp - 0x4c]
push edx
call fcn.0047cc0e
add esp, 4
xor eax, eax
mov word [ebp - 0x4c], ax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0xb0]
xor edi, edi
add eax, 0xfffffff0
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], edi
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41741f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, 0x10
cmp dword [ebp - 0x1c], esi
jb 0x417435
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0047cc0e
add esp, 4
lea ecx, [ebp - 0x2b4]
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], edi
mov byte [ebp - 0x30], 0
mov byte [ebp - 4], 4
call fcn.00413670
lea edx, [ebp - 0x2b4]
push edx
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004b705e
add esp, 4
cmp dword [ebp - 0x70], esi
jb 0x41747f
mov eax, dword [ebp - 0x84]
push eax
call fcn.0047cc0e
add esp, 4
mov al, byte [ebp - 0xb1]
jmp 0x41656f
lea edx, [ebp - 0x110]
push edx
mov byte [ebp - 4], 0xb
call fcn.00417c50
cmp dword [ebp - 0x38], 8
jb 0x4174ac
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0047cc0e
add esp, 4
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0xb0]
xor ecx, ecx
xor edi, edi
add eax, 0xfffffff0
mov word [ebp - 0x4c], cx
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], edi
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4174e4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, 0x10
cmp dword [ebp - 0x1c], esi
jb 0x4174fa
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0047cc0e
add esp, 4
lea ecx, [ebp - 0x2b4]
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], edi
mov byte [ebp - 0x30], 0
mov byte [ebp - 4], 4
call fcn.00413670
lea edx, [ebp - 0x2b4]
push edx
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.004b705e
add esp, 4
cmp dword [ebp - 0x70], esi
jmp 0x41655c