Function at 0x416db3
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56102c
mov eax, dword fs:[0]
push eax
sub esp, 0x1ec
mov eax, dword [0x5d6c64]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x164], eax
cmp dword [ebp - 0x164], 0
je 0x416e08
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0
jne 0x416e48
push 4
call fcn.0041b640
pop ecx
movzx eax, al
test eax, eax
je 0x416e43
mov ecx, dword [ebp + 0xc]
call fcn.00406480
mov dword [ebp - 0x16c], eax
push dword [ebp - 0x16c]
mov ecx, dword [ebp + 8]
call fcn.004071e0
push eax
push str._main_RefreshConfig_failed__params_invalid__path_s__cfg_s.
push 4
call fcn.0041b5a4
add esp, 0x10
jmp 0x4173b7
lea ecx, [ebp - 0x104]
call fcn.0040ca50
and dword [ebp - 4], 0
push 0
lea ecx, [ebp - 0x84]
call fcn.0040a590
mov byte [ebp - 4], 1
push 1
lea eax, [ebp - 0x84]
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x104]
call fcn.0040cb90
mov byte [ebp - 0x6d], al
movzx eax, byte [ebp - 0x6d]
test eax, eax
je 0x416ecc
lea ecx, [ebp - 0x84]
call fcn.0040b670
movzx eax, al
test eax, eax
je 0x416ecc
lea ecx, [ebp - 0x84]
call fcn.0040acc0
movzx eax, al
test eax, eax
jne 0x416ecc
lea ecx, [ebp - 0x84]
call fcn.0040b610
movzx eax, al
test eax, eax
jne 0x416ecc
mov dword [ebp - 0x1cc], 1
jmp 0x416ed3
and dword [ebp - 0x1cc], 0
mov al, byte [ebp - 0x1cc]
mov byte [ebp - 0x6d], al
movzx eax, byte [ebp - 0x6d]
test eax, eax
jne 0x416f2e
push 4
call fcn.0041b640
pop ecx
movzx eax, al
test eax, eax
je 0x416f0b
mov ecx, dword [ebp + 0xc]
call fcn.00406480
push eax
push str._main_RefreshConfig_failed__cfg_not_json:__s_
push 4
call fcn.0041b5a4
add esp, 0xc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x84]
call fcn.0040a8c0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x104]
call fcn.0040ede0
jmp 0x4173b7
push 0x56f330
lea ecx, [ebp - 0x84]
call fcn.0040b370
movzx eax, al
test eax, eax
je 0x416f7e
push 0x56f33c
lea ecx, [ebp - 0x84]
call fcn.0040b050
mov ecx, eax
call fcn.0040b620
movzx eax, al
test eax, eax
je 0x416f7e
push str.error_code
lea ecx, [ebp - 0x84]
call fcn.0040b050
mov ecx, eax
call fcn.0040aad0
test eax, eax
je 0x416fc8
push 4
call fcn.0041b640
pop ecx
movzx eax, al
test eax, eax
je 0x416fa5
mov ecx, dword [ebp + 0xc]
call fcn.00406480
push eax
push str._main_RefreshConfig_failed__found_rsp_error:__s_
push 4
call fcn.0041b5a4
add esp, 0xc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x84]
call fcn.0040a8c0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x104]
call fcn.0040ede0
jmp 0x4173b7
push 0x56f388
lea ecx, [ebp - 0x84]
call fcn.0040b370
movzx eax, al
test eax, eax
je 0x416ffd
push 0x56f390
lea ecx, [ebp - 0x84]
call fcn.0040b050
mov ecx, eax
call fcn.0040b640
movzx eax, al
test eax, eax
jne 0x417063
push 4
call fcn.0041b640
pop ecx
movzx eax, al
test eax, eax
je 0x417040
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x14], 0x10
jb 0x417022
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x1d0], eax
jmp 0x41702b
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1d0], eax
push dword [ebp - 0x1d0]
push str._main_RefreshConfig_failed__not_found_config_member:__s_
push 4
call fcn.0041b5a4
add esp, 0xc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x84]
call fcn.0040a8c0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x104]
call fcn.0040ede0
jmp 0x4173b7
push dword [ebp + 8]
lea ecx, [ebp - 0x15c]
call fcn.0041838b
mov byte [ebp - 4], 2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x160], esp
push dword [ebp + 8]
call fcn.0041838b
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 4], 3
mov byte [ebp - 4], 2
call fcn.00427bdf
add esp, 0x1c
mov byte [ebp - 0x1d5], al
movzx eax, byte [ebp - 0x1d5]
test eax, eax
je 0x417178
lea eax, [ebp - 0x2c]
push eax
call fcn.00427da7
pop ecx
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 4], 4
push 0x56f3d4
push dword [ebp - 0x1e0]
lea eax, [ebp - 0x48]
push eax
call fcn.00412118
add esp, 0xc
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x1e8], eax
mov byte [ebp - 4], 5
push dword [ebp + 8]
push dword [ebp - 0x1e8]
lea eax, [ebp - 0x64]
push eax
call fcn.00407dd0
add esp, 0xc
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 4], 6
push dword [ebp - 0x1a0]
lea ecx, [ebp - 0x15c]
call fcn.004064e0
mov byte [ebp - 4], 7
push 0
push 1
lea ecx, [ebp - 0x64]
call fcn.00406660
mov byte [ebp - 4], 5
mov byte [ebp - 4], 8
push 0
push 1
lea ecx, [ebp - 0x48]
call fcn.00406660
mov byte [ebp - 4], 4
mov byte [ebp - 4], 9
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.00406660
mov byte [ebp - 4], 2
lea eax, [ebp - 0x120]
push eax
push str.config
lea ecx, [ebp - 0x84]
call fcn.0040b050
mov ecx, eax
call fcn.0040a9f0
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x148], 8
jb 0x4171b1
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x1f0], eax
jmp 0x4171bd
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x1f0], eax
push 0x56f3e0
push dword [ebp - 0x1f0]
call dword [sym.imp.MSVCR100.dll__wfopen]
pop ecx
pop ecx
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
jne 0x41724f
push 4
call fcn.0041b640
pop ecx
movzx eax, al
test eax, eax
je 0x4171fe
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._main_RefreshConfig_fopen_failed__err_d.
push 4
call fcn.0041b5a4
add esp, 0xc
mov byte [ebp - 4], 0xb
push 0
push 1
lea ecx, [ebp - 0x120]
call fcn.00406430
mov byte [ebp - 4], 2
mov byte [ebp - 4], 0xc
push 0
push 1
lea ecx, [ebp - 0x15c]
call fcn.00406660
mov byte [ebp - 4], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x84]
call fcn.0040a8c0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x104]
call fcn.0040ede0
jmp 0x4173b7
lea eax, [ebp - 0x1b1]
mov dword [ebp - 0x1b0], eax
lea eax, [ebp - 0x140]
mov dword [ebp - 0x1f4], eax
mov byte [ebp - 4], 0xd
push 0
push 0
lea ecx, [ebp - 0x140]
call fcn.00406430
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.0042e236
pop ecx
pop ecx
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x12c], 0x10
jb 0x4172b6
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x1f8], eax
jmp 0x4172c2
lea eax, [ebp - 0x140]
mov dword [ebp - 0x1f8], eax
push dword [ebp - 0x6c]
push dword [ebp - 0x1b8]
push 1
push dword [ebp - 0x1f8]
call dword [sym.imp.MSVCR100.dll_fwrite]
add esp, 0x10
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x124]
sub eax, dword [ebp - 0x1bc]
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x65], al
push dword [ebp - 0x6c]
call dword [sym.imp.MSVCR100.dll_fclose]
pop ecx
and dword [ebp - 0x6c], 0
movzx eax, byte [ebp - 0x65]
test eax, eax
je 0x417337
push 4
call fcn.0041b640
pop ecx
movzx eax, al
test eax, eax
je 0x417335
push str._main_RefreshConfig_success.
push 4
call fcn.0041b5a4
pop ecx
pop ecx
jmp 0x417354
push 4
call fcn.0041b640
pop ecx
movzx eax, al
test eax, eax
je 0x417354
push str._main_RefreshConfig_failed.
push 4
call fcn.0041b5a4
pop ecx
pop ecx
mov byte [ebp - 4], 0xf
push 0
push 1
lea ecx, [ebp - 0x140]
call fcn.00406430
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0x10
push 0
push 1
lea ecx, [ebp - 0x120]
call fcn.00406430
mov byte [ebp - 4], 2
mov byte [ebp - 4], 0x11
push 0
push 1
lea ecx, [ebp - 0x15c]
call fcn.00406660
mov byte [ebp - 4], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x84]
call fcn.0040a8c0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x104]
call fcn.0040ede0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004610a0
leave
ret