Function at 0x40b830
Capabilities:
Check if file exists
Check os version
Get file attributes
Get session user name

Disassembly:
sub esp, 0x734
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x104
push eax
lea eax, [esp + 0x338]
mov ebp, edx
push eax
mov dword [esp + 0x18], ebp
mov esi, ecx
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
jne 0x40b869
mov word [esp + 0x334], ax
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [esp + 0x28], 2
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
jne 0x40bc36
mov eax, dword [esp + 0x1c]
cmp eax, 6
jb 0x40b9c5
mov ecx, esi
call fcn.00406dc0
test eax, eax
js 0x40b9b6
push esi
call ebx
cmp eax, 0xffffffff
je 0x40b9b6
push esi
call ebx
test al, 0x10
je 0x40b9b6
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b8c5
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40b8f3
lea edi, [esi - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40b8e0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40b8f6
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b916
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40b943
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40b930
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, esi
sub edx, esi
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x40b950
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40b970
mov eax, dword [str.Auto0.sav]
mov dword [ecx], eax
mov eax, dword [0x42fb9c]
mov dword [ecx + 4], eax
mov eax, dword [0x42fba0]
mov dword [ecx + 8], eax
mov eax, dword [0x42fba4]
mov dword [ecx + 0xc], eax
mov eax, dword [0x42fba8]
mov dword [ecx + 0x10], eax
lea eax, [esp + 0x12c]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x40cefe
cmp dword [esp + 0x28], 2
jne 0x40bc36
mov eax, dword [esp + 0x1c]
cmp eax, 4
jb 0x40bc36
push ecx
lea edx, [esp + 0x338]
mov ecx, esi
call fcn.00406c40
add esp, 4
test eax, eax
js 0x40baf6
push esi
call ebx
cmp eax, 0xffffffff
je 0x40baf6
push esi
call ebx
test al, 0x10
je 0x40baf6
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40ba04
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40ba33
lea edi, [esi - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40ba20
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40ba36
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40ba56
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40ba83
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40ba70
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, esi
sub edx, esi
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x40ba90
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40bab0
mov eax, dword [str.Auto0.sav]
mov dword [ecx], eax
mov eax, dword [0x42fb9c]
mov dword [ecx + 4], eax
mov eax, dword [0x42fba0]
mov dword [ecx + 8], eax
mov eax, dword [0x42fba4]
mov dword [ecx + 0xc], eax
mov eax, dword [0x42fba8]
mov dword [ecx + 0x10], eax
lea eax, [esp + 0x12c]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x40cefe
cmp dword [esp + 0x28], 2
jne 0x40bc36
cmp dword [esp + 0x1c], 4
jb 0x40bc36
push ecx
mov edx, 0x42df80
mov ecx, esi
call fcn.00406c40
add esp, 4
test eax, eax
js 0x40bc36
push esi
call ebx
cmp eax, 0xffffffff
je 0x40bc36
push esi
call ebx
test al, 0x10
je 0x40bc36
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bb40
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40bb73
lea edi, [esi - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40bb60
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40bb76
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bb96
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40bbc3
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40bbb0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, esi
sub edx, esi
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x40bbd0
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40bbf0
mov eax, dword [str.Auto0.sav]
mov dword [ecx], eax
mov eax, dword [0x42fb9c]
mov dword [ecx + 4], eax
mov eax, dword [0x42fba0]
mov dword [ecx + 8], eax
mov eax, dword [0x42fba4]
mov dword [ecx + 0xc], eax
mov eax, dword [0x42fba8]
mov dword [ecx + 0x10], eax
lea eax, [esp + 0x12c]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x40cefe
push ecx
lea edx, [esp + 0x338]
mov ecx, esi
call fcn.00406b60
add esp, 4
test eax, eax
js 0x40bd66
push esi
call ebx
cmp eax, 0xffffffff
je 0x40bd66
push esi
call ebx
test al, 0x10
je 0x40bd66
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bc70
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40bca3
lea edi, [esi - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40bc90
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40bca6
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bcc6
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40bcf3
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40bce0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, esi
sub edx, esi
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x40bd00
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40bd20
mov eax, dword [str.Auto0.sav]
mov dword [ecx], eax
mov eax, dword [0x42fb9c]
mov dword [ecx + 4], eax
mov eax, dword [0x42fba0]
mov dword [ecx + 8], eax
mov eax, dword [0x42fba4]
mov dword [ecx + 0xc], eax
mov eax, dword [0x42fba8]
mov dword [ecx + 0x10], eax
lea eax, [esp + 0x12c]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x40cefe
push ecx
mov edx, 0x42df80
mov ecx, esi
call fcn.00406b60
add esp, 4
test eax, eax
js 0x40be96
push esi
call ebx
cmp eax, 0xffffffff
je 0x40be96
push esi
call ebx
test al, 0x10
je 0x40be96
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bda0
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40bdd3
lea edi, [esi - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40bdc0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40bdd6
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bdf6
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40be23
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40be10
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, esi
sub edx, esi
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x40be30
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40be50
mov eax, dword [str.Auto0.sav]
mov dword [ecx], eax
mov eax, dword [0x42fb9c]
mov dword [ecx + 4], eax
mov eax, dword [0x42fba0]
mov dword [ecx + 8], eax
mov eax, dword [0x42fba4]
mov dword [ecx + 0xc], eax
mov eax, dword [0x42fba8]
mov dword [ecx + 0x10], eax
lea eax, [esp + 0x12c]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x40cefe
cmp word [0x57ed50], 0
jne 0x40beca
push 0x104
push 0x57ed50
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
push 0x57ed50
call fcn.0040e819
add esp, 8
test eax, eax
je 0x40beca
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x57ed50
mov ebp, esi
sub ebp, ecx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + ebp - 2], ax
test ax, ax
jne 0x40bed3
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bef0
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40bf23
lea edi, [esi - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40bf10
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40bf26
mov eax, dword [str.SAVE_]
mov dword [ecx], eax
mov eax, dword [0x42fbb0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbb4]
push esi
mov dword [ecx + 8], eax
call ebx
cmp eax, 0xffffffff
je 0x40c056
push esi
call ebx
test al, 0x10
je 0x40c056
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bf65
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40bf93
lea edi, [esi - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40bf80
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40bf96
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bfb6
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40bfe3
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40bfd0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, esi
sub edx, esi
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x40bff0
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40c010
mov eax, dword [str.Auto0.sav]
mov dword [ecx], eax
mov eax, dword [0x42fb9c]
mov dword [ecx + 4], eax
mov eax, dword [0x42fba0]
mov dword [ecx + 8], eax
mov eax, dword [0x42fba4]
mov dword [ecx + 0xc], eax
mov eax, dword [0x42fba8]
mov dword [ecx + 0x10], eax
lea eax, [esp + 0x12c]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x40cefa
cmp dword [esp + 0x28], 2
jne 0x40c440
mov eax, dword [esp + 0x1c]
cmp eax, 6
jb 0x40c1af
mov ecx, esi
call fcn.00406dc0
test eax, eax
js 0x40c1a0
push esi
call ebx
cmp eax, 0xffffffff
je 0x40c1a0
push esi
call ebx
test al, 0x10
je 0x40c1a0
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c0a0
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40c0d3
lea edi, [esi - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c0c0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40c0d6
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c0f6
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40c123
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c110
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, esi
sub edx, esi
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x40c130
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40c150
mov eax, dword [str.config.ini]
mov dword [ecx], eax
mov eax, dword [0x42df94]
mov dword [ecx + 4], eax
mov eax, dword [0x42df98]
mov dword [ecx + 8], eax
mov eax, dword [0x42df9c]
mov dword [ecx + 0xc], eax
mov eax, dword [0x42dfa0]
mov dword [ecx + 0x10], eax
mov ax, word [0x42dfa4]
mov word [ecx + 0x14], ax
lea eax, [esp + 0x12c]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x40cefa
cmp dword [esp + 0x28], 2
jne 0x40c440
mov eax, dword [esp + 0x1c]
cmp eax, 4
jb 0x40c440
push ecx
lea edx, [esp + 0x338]
mov ecx, esi
call fcn.00406c40
add esp, 4
test eax, eax
js 0x40c2f0
push esi
call ebx
cmp eax, 0xffffffff
je 0x40c2f0
push esi
call ebx
test al, 0x10
je 0x40c2f0
mov ecx, esi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c1f0
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40c223
lea edi, [esi - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c210
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40c226
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c246
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40c273
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c260
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, esi
sub edx, esi
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x40c280
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40c2a0
mov eax, dword [str.config.ini]
mov dword [ecx], eax
mov eax, dword [0x42df94]
mov dword [ecx + 4], eax
mov eax, dword [0x42df98]
mov dword [ecx + 8], eax
mov eax, dword [0x42df9c]
mov dword [ecx + 0xc], eax
mov eax, dword [0x42dfa0]
mov dword [ecx + 0x10], eax
mov ax, word [0x42dfa4]
mov word [ecx + 0x14], ax
lea eax, [esp + 0x12c]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x40cefa
cmp dword [esp + 0x28], 2
jne 0x40c440
cmp dword [esp + 0x1c], 4
jb 0x40c440
push ecx
mov edx, 0x42df80
mov ecx, esi
call fcn.00406c40
add esp, 4
test eax, eax
js 0x40c440
push esi
call ebx
cmp eax, 0xffffffff
je 0x40c440
push esi
call ebx
test al, 0x10
je 0x40c440
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c340
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40c373
lea edi, [esi - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c360
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40c376
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c396
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40c3c3
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c3b0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, esi
sub edx, esi
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x40c3d0
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40c3f0
mov eax, dword [str.config.ini]
mov dword [ecx], eax
mov eax, dword [0x42df94]
mov dword [ecx + 4], eax
mov eax, dword [0x42df98]
mov dword [ecx + 8], eax
mov eax, dword [0x42df9c]
mov dword [ecx + 0xc], eax
mov eax, dword [0x42dfa0]
mov dword [ecx + 0x10], eax
mov ax, word [0x42dfa4]
mov word [ecx + 0x14], ax
lea eax, [esp + 0x12c]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x40cefa
push ecx
lea edx, [esp + 0x338]
mov ecx, esi
call fcn.00406b60
add esp, 4
test eax, eax
js 0x40c570
push esi
call ebx
cmp eax, 0xffffffff
je 0x40c570
push esi
call ebx
test al, 0x10
je 0x40c570
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c476
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40c4a3
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c490
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40c4a6
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c4c6
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40c4f3
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c4e0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, esi
sub edx, esi
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x40c500
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40c520
mov eax, dword [str.config.ini]
mov dword [ecx], eax
mov eax, dword [0x42df94]
mov dword [ecx + 4], eax
mov eax, dword [0x42df98]
mov dword [ecx + 8], eax
mov eax, dword [0x42df9c]
mov dword [ecx + 0xc], eax
mov eax, dword [0x42dfa0]
mov dword [ecx + 0x10], eax
mov ax, word [0x42dfa4]
mov word [ecx + 0x14], ax
lea eax, [esp + 0x12c]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x40cefa
push ecx
mov edx, 0x42df80
mov ecx, esi
call fcn.00406b60
add esp, 4
test eax, eax
js 0x40c6a0
push esi
call ebx
cmp eax, 0xffffffff
je 0x40c6a0
push esi
call ebx
test al, 0x10
je 0x40c6a0
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c5a4
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40c5d3
lea edi, [esi - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c5c0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40c5d6
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c5f6
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40c623
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c610
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, esi
sub edx, esi
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x40c630
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40c650
mov eax, dword [str.config.ini]
mov dword [ecx], eax
mov eax, dword [0x42df94]
mov dword [ecx + 4], eax
mov eax, dword [0x42df98]
mov dword [ecx + 8], eax
mov eax, dword [0x42df9c]
mov dword [ecx + 0xc], eax
mov eax, dword [0x42dfa0]
mov dword [ecx + 0x10], eax
mov ax, word [0x42dfa4]
mov word [ecx + 0x14], ax
lea eax, [esp + 0x12c]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x40cefa
cmp word [0x57ed50], 0
jne 0x40c6d4
push 0x104
push 0x57ed50
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
push 0x57ed50
call fcn.0040e819
add esp, 8
test eax, eax
je 0x40c6d4
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x57ed50
nop dword [eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + ebp - 2], ax
test ax, ax
jne 0x40c6e0
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c6f5
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40c723
lea edi, [esi - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c710
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40c726
mov eax, dword [str.SAVE_]
mov dword [ecx], eax
mov eax, dword [0x42fbb0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbb4]
mov dword [ecx + 8], eax
mov ecx, esi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c750
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40c783
lea edi, [esi - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c770
mov eax, dword [0x42ee1c]
mov dword [edi], eax
push esi
call ebx
cmp eax, 0xffffffff
je 0x40c850
push esi
call ebx
test al, 0x10
je 0x40c850
mov ecx, esi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c7a0
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40c7d3
lea edi, [esi - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c7c0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, esi
sub edx, esi
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x40c7e0
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40c800
mov eax, dword [str.config.ini]
mov dword [ecx], eax
mov eax, dword [0x42df94]
mov dword [ecx + 4], eax
mov eax, dword [0x42df98]
mov dword [ecx + 8], eax
mov eax, dword [0x42df9c]
mov dword [ecx + 0xc], eax
mov eax, dword [0x42dfa0]
mov dword [ecx + 0x10], eax
mov ax, word [0x42dfa4]
mov word [ecx + 0x14], ax
lea eax, [esp + 0x12c]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x40cefa
cmp dword [esp + 0x28], 2
jne 0x40c991
mov eax, dword [esp + 0x1c]
cmp eax, 6
jb 0x40c8c1
mov ecx, esi
call fcn.00406dc0
test eax, eax
js 0x40c8b2
push esi
call ebx
cmp eax, 0xffffffff
je 0x40c8b2
push esi
call ebx
test al, 0x10
je 0x40c8b2
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c883
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40ca43
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c8a1
jmp 0x40ca3c
cmp dword [esp + 0x28], 2
jne 0x40c991
mov eax, dword [esp + 0x1c]
cmp eax, 4
jb 0x40c991
push ecx
lea edx, [esp + 0x338]
mov ecx, esi
call fcn.00406c40
add esp, 4
test eax, eax
js 0x40c923
push esi
call ebx
cmp eax, 0xffffffff
je 0x40c923
push esi
call ebx
test al, 0x10
je 0x40c923
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c8f4
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40ca43
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c912
jmp 0x40ca3c
cmp dword [esp + 0x28], 2
jne 0x40c991
cmp dword [esp + 0x1c], 4
jb 0x40c991
push ecx
mov edx, 0x42df80
mov ecx, esi
call fcn.00406c40
add esp, 4
test eax, eax
js 0x40c991
push esi
call ebx
cmp eax, 0xffffffff
je 0x40c991
push esi
call ebx
test al, 0x10
je 0x40c991
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c960
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40ca43
lea edi, [esi - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c980
jmp 0x40ca3c
push ecx
lea edx, [esp + 0x338]
mov ecx, esi
call fcn.00406b60
add esp, 4
test eax, eax
js 0x40c9ee
push esi
call ebx
cmp eax, 0xffffffff
je 0x40c9ee
push esi
call ebx
test al, 0x10
je 0x40c9ee
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c9c0
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40ca43
lea edi, [esi - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40c9e0
jmp 0x40ca3c
push ecx
mov edx, 0x42df80
mov ecx, esi
call fcn.00406b60
add esp, 4
test eax, eax
js 0x40ca66
push esi
call ebx
cmp eax, 0xffffffff
je 0x40ca66
push esi
call ebx
test al, 0x10
je 0x40ca66
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40ca16
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40ca43
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40ca30
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40ca46
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
jmp 0x40cefa
cmp word [0x57ed50], 0
jne 0x40ca9a
push 0x104
push 0x57ed50
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
push 0x57ed50
call fcn.0040e819
add esp, 8
test eax, eax
je 0x40ca9a
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x57ed50
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + ebp - 2], ax
test ax, ax
jne 0x40caa0
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cab5
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40cae3
lea edi, [esi - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40cad0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40cae6
mov eax, dword [str.SAVE_]
mov dword [ecx], eax
mov eax, dword [0x42fbb0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbb4]
push esi
mov dword [ecx + 8], eax
call ebx
cmp eax, 0xffffffff
je 0x40cb1c
push esi
call ebx
test al, 0x10
jne 0x40cefa
cmp dword [esp + 0x28], 2
jne 0x40ccff
mov eax, dword [esp + 0x1c]
cmp eax, 6
jb 0x40cbce
mov ecx, esi
call fcn.00406dc0
test eax, eax
js 0x40cbbf
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cb50
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40cb83
lea edi, [esi - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40cb70
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40cb86
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, esi
call fcn.00406a80
test eax, eax
js 0x40cbbf
push esi
call ebx
cmp eax, 0xffffffff
je 0x40cbbf
push esi
call ebx
test al, 0x10
jne 0x40cefa
cmp dword [esp + 0x28], 2
jne 0x40ccff
mov eax, dword [esp + 0x1c]
cmp eax, 4
jb 0x40ccff
push ecx
lea edx, [esp + 0x338]
mov ecx, esi
call fcn.00406c40
add esp, 4
test eax, eax
js 0x40cc5f
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cbf2
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40cc23
lea edi, [esi - 2]
nop dword [eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40cc10
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40cc26
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, esi
call fcn.00406a80
test eax, eax
js 0x40cc5f
push esi
call ebx
cmp eax, 0xffffffff
je 0x40cc5f
push esi
call ebx
test al, 0x10
jne 0x40cefa
cmp dword [esp + 0x28], 2
jne 0x40ccff
cmp dword [esp + 0x1c], 4
jb 0x40ccff
push ecx
mov edx, 0x42df80
mov ecx, esi
call fcn.00406c40
add esp, 4
test eax, eax
js 0x40ccff
mov ecx, esi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cc90
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40ccc3
lea edi, [esi - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40ccb0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40ccc6
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, esi
call fcn.00406a80
test eax, eax
js 0x40ccff
push esi
call ebx
cmp eax, 0xffffffff
je 0x40ccff
push esi
call ebx
test al, 0x10
jne 0x40cefa
push ecx
lea edx, [esp + 0x338]
mov ecx, esi
call fcn.00406b60
add esp, 4
test eax, eax
js 0x40cd8f
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cd20
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40cd53
lea edi, [esi - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40cd40
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40cd56
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, esi
call fcn.00406a80
test eax, eax
js 0x40cd8f
push esi
call ebx
cmp eax, 0xffffffff
je 0x40cd8f
push esi
call ebx
test al, 0x10
jne 0x40cefa
push ecx
mov edx, 0x42df80
mov ecx, esi
call fcn.00406b60
add esp, 4
test eax, eax
js 0x40ce1f
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cdb0
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40cde3
lea edi, [esi - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40cdd0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40cde6
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, esi
call fcn.00406a80
test eax, eax
js 0x40ce1f
push esi
call ebx
cmp eax, 0xffffffff
je 0x40ce1f
push esi
call ebx
test al, 0x10
jne 0x40cefa
cmp word [0x57ed50], 0
jne 0x40ce53
push 0x104
push 0x57ed50
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
push 0x57ed50
call fcn.0040e819
add esp, 8
test eax, eax
je 0x40ce53
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x57ed50
nop dword [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + ebp - 2], ax
test ax, ax
jne 0x40ce60
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40ce75
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40cea3
lea edi, [esi - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40ce90
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [esi - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40cea6
mov eax, dword [str.SAVE_]
mov dword [ecx], eax
mov eax, dword [0x42fbb0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbb4]
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.00406a80
test eax, eax
js 0x40cee3
push esi
call ebx
cmp eax, 0xffffffff
je 0x40cee3
push esi
call ebx
test al, 0x10
jne 0x40cefa
push 0x10010
push 0x42f934
push str.Failed_to_find_save_folder._nPlease_report_this_error_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ebp, dword [esp + 0x10]
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cf03
sub ecx, edx
sar ecx, 1
test ecx, ecx
jle 0x40cf34
cmp word [esi + ecx*2 - 2], 0x5c
je 0x40cf34
lea edi, [esi - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40cf21
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x53c]
mov ecx, esi
sub edx, esi
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x40cf40
lea eax, [esp + 0x53c]
push 0x5c
push eax
call fcn.0040e819
add esp, 8
test eax, eax
je 0x40cf6b
xor ecx, ecx
mov word [eax], cx
test ebp, ebp
je 0x40cf83
mov ecx, esi
sub ebp, esi
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + ebp - 2], ax
test ax, ax
jne 0x40cf73
mov ecx, dword [esp + 0x748]
lea edx, [esp + 0x12c]
sub edx, ecx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x40cf93
push str.LOG_ID
call fcn.00419406
mov edx, eax
add esp, 4
test edx, edx
je 0x40cff2
lea ecx, [esp + 0x12c]
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cfc0
movzx eax, word [edx]
sub ecx, edi
sar ecx, 1
mov word [esp + ecx*2 + 0x126], ax
movzx eax, word [edx + 2]
mov word [esp + ecx*2 + 0x128], ax
movzx eax, word [edx + 4]
mov word [esp + ecx*2 + 0x12a], ax
lea edx, [esp + 0x12c]
mov ebx, edx
nop dword [eax + eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x40d000
sub edx, ebx
add esi, 0xfffffffe
mov ax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x40d010
mov edi, esi
mov ecx, edx
shr ecx, 2
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x734
ret