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

Disassembly:
sub esp, 0x734
push ebx
push esi
push edi
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x104
push eax
lea eax, [esp + 0x334]
mov ebx, ecx
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
jne 0x409fa2
mov word [esp + 0x330], ax
push ebp
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [esp + 0x28], 2
mov ebp, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
jne 0x40a3d6
mov eax, dword [esp + 0x1c]
cmp eax, 6
jb 0x40a125
mov ecx, ebx
call fcn.00406dc0
test eax, eax
js 0x40a116
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40a116
push ebx
call ebp
test al, 0x10
je 0x40a116
mov ecx, ebx
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a000
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40a033
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40a020
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40a036
mov eax, dword [str.ED_SORA3]
mov dword [ecx], eax
mov eax, dword [0x42fbd0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbd4]
mov dword [ecx + 8], eax
mov eax, dword [0x42fbd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x42fbdc]
mov word [ecx + 0x10], ax
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a070
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40a0a3
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40a090
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, ebx
sub edx, ebx
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x40a0b0
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40a0d0
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 ebp
cmp eax, 0xffffffff
jne 0x40b759
cmp dword [esp + 0x28], 2
jne 0x40a3d6
mov eax, dword [esp + 0x1c]
cmp eax, 4
jb 0x40a3d6
push ecx
lea edx, [esp + 0x338]
mov ecx, ebx
call fcn.00406c40
add esp, 4
test eax, eax
js 0x40a276
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40a276
push ebx
call ebp
test al, 0x10
je 0x40a276
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a164
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40a193
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40a180
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40a196
mov eax, dword [str.ED_SORA3]
mov dword [ecx], eax
mov eax, dword [0x42fbd0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbd4]
mov dword [ecx + 8], eax
mov eax, dword [0x42fbd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x42fbdc]
mov word [ecx + 0x10], ax
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a1d0
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40a203
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40a1f0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, ebx
sub edx, ebx
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x40a210
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40a230
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 ebp
cmp eax, 0xffffffff
jne 0x40b759
cmp dword [esp + 0x28], 2
jne 0x40a3d6
cmp dword [esp + 0x1c], 4
jb 0x40a3d6
push ecx
mov edx, 0x42df80
mov ecx, ebx
call fcn.00406c40
add esp, 4
test eax, eax
js 0x40a3d6
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40a3d6
push ebx
call ebp
test al, 0x10
je 0x40a3d6
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a2c0
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40a2f3
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40a2e0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40a2f6
mov eax, dword [str.ED_SORA3]
mov dword [ecx], eax
mov eax, dword [0x42fbd0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbd4]
mov dword [ecx + 8], eax
mov eax, dword [0x42fbd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x42fbdc]
mov word [ecx + 0x10], ax
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a330
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40a363
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40a350
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, ebx
sub edx, ebx
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x40a370
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40a390
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 ebp
cmp eax, 0xffffffff
jne 0x40b759
push ecx
lea edx, [esp + 0x338]
mov ecx, ebx
call fcn.00406b60
add esp, 4
test eax, eax
js 0x40a526
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40a526
push ebx
call ebp
test al, 0x10
je 0x40a526
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a410
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40a443
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40a430
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40a446
mov eax, dword [str.ED_SORA3]
mov dword [ecx], eax
mov eax, dword [0x42fbd0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbd4]
mov dword [ecx + 8], eax
mov eax, dword [0x42fbd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x42fbdc]
mov word [ecx + 0x10], ax
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a480
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40a4b3
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40a4a0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, ebx
sub edx, ebx
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x40a4c0
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40a4e0
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 ebp
cmp eax, 0xffffffff
jne 0x40b759
push ecx
mov edx, 0x42df80
mov ecx, ebx
call fcn.00406b60
add esp, 4
test eax, eax
js 0x40a676
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40a676
push ebx
call ebp
test al, 0x10
je 0x40a676
mov ecx, ebx
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a560
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40a593
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40a580
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40a596
mov eax, dword [str.ED_SORA3]
mov dword [ecx], eax
mov eax, dword [0x42fbd0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbd4]
mov dword [ecx + 8], eax
mov eax, dword [0x42fbd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x42fbdc]
mov word [ecx + 0x10], ax
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a5d0
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40a603
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40a5f0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, ebx
sub edx, ebx
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x40a610
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40a630
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 ebp
cmp eax, 0xffffffff
jne 0x40b759
cmp word [0x57ed50], 0
jne 0x40a6aa
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 0x40a6aa
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x57ed50
mov edx, ebx
sub edx, ecx
mov dword [esp + 0x10], edx
nop word [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x40a6c0
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a6d5
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40a703
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40a6f0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40a706
mov eax, dword [str.SAVE_]
mov dword [ecx], eax
mov eax, dword [0x42fbb0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbb4]
push ebx
mov dword [ecx + 8], eax
call ebp
cmp eax, 0xffffffff
je 0x40a856
push ebx
call ebp
test al, 0x10
je 0x40a856
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a745
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40a773
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40a760
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40a776
mov eax, dword [str.ED_SORA3]
mov dword [ecx], eax
mov eax, dword [0x42fbd0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbd4]
mov dword [ecx + 8], eax
mov eax, dword [0x42fbd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x42fbdc]
mov word [ecx + 0x10], ax
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a7b0
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40a7e3
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40a7d0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, ebx
sub edx, ebx
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x40a7f0
lea ecx, [esp + 0x12c]
add ecx, 0xfffffffe
nop word [eax + eax]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40a810
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 ebp
cmp eax, 0xffffffff
jne 0x40b759
cmp dword [esp + 0x28], 2
jne 0x40ac3d
mov eax, dword [esp + 0x1c]
cmp eax, 6
jb 0x40a9ac
mov ecx, ebx
call fcn.00406dc0
test eax, eax
js 0x40a99d
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40a99d
push ebx
call ebp
test al, 0x10
je 0x40a99d
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a8a0
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40a8d3
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40a8c0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40a8d6
mov eax, dword [str.ED_SORA3]
mov dword [ecx], eax
mov eax, dword [0x42fbd0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbd4]
mov dword [ecx + 8], eax
mov eax, dword [0x42fbd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x42fbdc]
mov word [ecx + 0x10], ax
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a910
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40a943
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40a930
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, ebx
sub edx, ebx
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x40a950
lea edi, [esp + 0x12c]
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x40a970
mov ecx, 6
lea eax, [esp + 0x12c]
mov esi, str.ed6_win3.ini
rep movsd dword es:[edi], dword [esi]
push eax
movsw word es:[edi], word [esi]
call ebp
cmp eax, 0xffffffff
jne 0x40b759
cmp dword [esp + 0x28], 2
jne 0x40ac3d
mov eax, dword [esp + 0x1c]
cmp eax, 4
jb 0x40ac3d
push ecx
lea edx, [esp + 0x338]
mov ecx, ebx
call fcn.00406c40
add esp, 4
test eax, eax
js 0x40aaed
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40aaed
push ebx
call ebp
test al, 0x10
je 0x40aaed
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40a9f0
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40aa23
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40aa10
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40aa26
mov eax, dword [str.ED_SORA3]
mov dword [ecx], eax
mov eax, dword [0x42fbd0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbd4]
mov dword [ecx + 8], eax
mov eax, dword [0x42fbd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x42fbdc]
mov word [ecx + 0x10], ax
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40aa60
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40aa93
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40aa80
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, ebx
sub edx, ebx
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x40aaa0
lea edi, [esp + 0x12c]
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x40aac0
mov ecx, 6
lea eax, [esp + 0x12c]
mov esi, str.ed6_win3.ini
rep movsd dword es:[edi], dword [esi]
push eax
movsw word es:[edi], word [esi]
call ebp
cmp eax, 0xffffffff
jne 0x40b759
cmp dword [esp + 0x28], 2
jne 0x40ac3d
cmp dword [esp + 0x1c], 4
jb 0x40ac3d
push ecx
mov edx, 0x42df80
mov ecx, ebx
call fcn.00406c40
add esp, 4
test eax, eax
js 0x40ac3d
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40ac3d
push ebx
call ebp
test al, 0x10
je 0x40ac3d
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40ab37
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40ab64
lea edi, [ebx - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40ab51
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
nop word [eax + eax]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40ab70
mov eax, dword [str.ED_SORA3]
mov dword [ecx], eax
mov eax, dword [0x42fbd0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbd4]
mov dword [ecx + 8], eax
mov eax, dword [0x42fbd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x42fbdc]
mov word [ecx + 0x10], ax
mov ecx, ebx
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40abb0
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40abe3
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40abd0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, ebx
sub edx, ebx
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x40abf0
lea edi, [esp + 0x12c]
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x40ac10
mov ecx, 6
lea eax, [esp + 0x12c]
mov esi, str.ed6_win3.ini
rep movsd dword es:[edi], dword [esi]
push eax
movsw word es:[edi], word [esi]
call ebp
cmp eax, 0xffffffff
jne 0x40b759
push ecx
lea edx, [esp + 0x338]
mov ecx, ebx
call fcn.00406b60
add esp, 4
test eax, eax
js 0x40ad6d
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40ad6d
push ebx
call ebp
test al, 0x10
je 0x40ad6d
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40ac73
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40aca3
lea edi, [ebx - 2]
nop dword [eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40ac90
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40aca6
mov eax, dword [str.ED_SORA3]
mov dword [ecx], eax
mov eax, dword [0x42fbd0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbd4]
mov dword [ecx + 8], eax
mov eax, dword [0x42fbd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x42fbdc]
mov word [ecx + 0x10], ax
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40ace0
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40ad13
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40ad00
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, ebx
sub edx, ebx
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x40ad20
lea edi, [esp + 0x12c]
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x40ad40
mov ecx, 6
lea eax, [esp + 0x12c]
mov esi, str.ed6_win3.ini
rep movsd dword es:[edi], dword [esi]
push eax
movsw word es:[edi], word [esi]
call ebp
cmp eax, 0xffffffff
jne 0x40b759
push ecx
mov edx, 0x42df80
mov ecx, ebx
call fcn.00406b60
add esp, 4
test eax, eax
js 0x40ae9d
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40ae9d
push ebx
call ebp
test al, 0x10
je 0x40ae9d
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40ada1
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40add3
lea edi, [ebx - 2]
nop dword [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40adc0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40add6
mov eax, dword [str.ED_SORA3]
mov dword [ecx], eax
mov eax, dword [0x42fbd0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbd4]
mov dword [ecx + 8], eax
mov eax, dword [0x42fbd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x42fbdc]
mov word [ecx + 0x10], ax
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40ae10
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40ae43
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40ae30
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, ebx
sub edx, ebx
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x40ae50
lea edi, [esp + 0x12c]
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x40ae70
mov ecx, 6
lea eax, [esp + 0x12c]
mov esi, str.ed6_win3.ini
rep movsd dword es:[edi], dword [esi]
push eax
movsw word es:[edi], word [esi]
call ebp
cmp eax, 0xffffffff
jne 0x40b759
cmp word [0x57ed50], 0
jne 0x40aed1
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 0x40aed1
xor ecx, ecx
mov word [eax], cx
mov esi, dword [esp + 0x10]
mov ecx, 0x57ed50
nop word [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + esi - 2], ax
test ax, ax
jne 0x40aee0
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40aef5
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40af23
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40af10
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40af26
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, ebx
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40af50
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40af83
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40af70
mov eax, dword [0x42ee1c]
mov dword [edi], eax
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40b031
push ebx
call ebp
test al, 0x10
je 0x40b031
mov ecx, ebx
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40afa0
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40afd3
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40afc0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x12c]
mov ecx, ebx
sub edx, ebx
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x40afe0
lea edi, [esp + 0x12c]
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x40b000
mov ecx, 6
lea eax, [esp + 0x12c]
mov esi, str.ed6_win3.ini
rep movsd dword es:[edi], dword [esi]
push eax
movsw word es:[edi], word [esi]
call ebp
cmp eax, 0xffffffff
jne 0x40b759
mov esi, dword [esp + 0x10]
cmp dword [esp + 0x28], 2
jne 0x40b171
mov eax, dword [esp + 0x1c]
cmp eax, 6
jb 0x40b0a2
mov ecx, ebx
call fcn.00406dc0
test eax, eax
js 0x40b093
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40b093
push ebx
call ebp
test al, 0x10
je 0x40b093
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b064
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40b233
lea edi, [ebx - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40b082
jmp 0x40b22c
cmp dword [esp + 0x28], 2
jne 0x40b171
mov eax, dword [esp + 0x1c]
cmp eax, 4
jb 0x40b171
push ecx
lea edx, [esp + 0x338]
mov ecx, ebx
call fcn.00406c40
add esp, 4
test eax, eax
js 0x40b104
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40b104
push ebx
call ebp
test al, 0x10
je 0x40b104
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b0d5
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40b233
lea edi, [ebx - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40b0f3
jmp 0x40b22c
cmp dword [esp + 0x28], 2
jne 0x40b171
cmp dword [esp + 0x1c], 4
jb 0x40b171
push ecx
mov edx, 0x42df80
mov ecx, ebx
call fcn.00406c40
add esp, 4
test eax, eax
js 0x40b171
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40b171
push ebx
call ebp
test al, 0x10
je 0x40b171
mov ecx, ebx
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b140
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40b233
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40b160
jmp 0x40b22c
push ecx
lea edx, [esp + 0x338]
mov ecx, ebx
call fcn.00406b60
add esp, 4
test eax, eax
js 0x40b1ce
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40b1ce
push ebx
call ebp
test al, 0x10
je 0x40b1ce
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b1a0
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40b233
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40b1c0
jmp 0x40b22c
push ecx
mov edx, 0x42df80
mov ecx, ebx
call fcn.00406b60
add esp, 4
test eax, eax
js 0x40b270
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40b270
push ebx
call ebp
test al, 0x10
je 0x40b270
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b202
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40b233
lea edi, [ebx - 2]
nop dword [eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40b220
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40b236
mov eax, dword [str.ED_SORA3]
mov dword [ecx], eax
mov eax, dword [0x42fbd0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbd4]
mov dword [ecx + 8], eax
mov eax, dword [0x42fbd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x42fbdc]
mov word [ecx + 0x10], ax
jmp 0x40b759
cmp word [0x57ed50], 0
jne 0x40b2a4
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 0x40b2a4
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x57ed50
nop dword [eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0x40b2b0
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b2c5
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40b2f3
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40b2e0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x40b2f6
mov eax, dword [str.SAVE_]
mov dword [ecx], eax
mov eax, dword [0x42fbb0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbb4]
push ebx
mov dword [ecx + 8], eax
call ebp
cmp eax, 0xffffffff
je 0x40b32c
push ebx
call ebp
test al, 0x10
jne 0x40b759
cmp dword [esp + 0x28], 2
jne 0x40b549
mov eax, dword [esp + 0x1c]
cmp eax, 6
jb 0x40b3f8
mov ecx, ebx
call fcn.00406dc0
test eax, eax
js 0x40b3e9
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b360
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40b393
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40b380
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40b396
mov eax, dword [str.ED_SORA3]
mov dword [ecx], eax
mov eax, dword [0x42fbd0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbd4]
mov dword [ecx + 8], eax
mov eax, dword [0x42fbd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x42fbdc]
mov word [ecx + 0x10], ax
mov ecx, ebx
call fcn.00406a80
test eax, eax
js 0x40b3e9
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40b3e9
push ebx
call ebp
test al, 0x10
jne 0x40b759
cmp dword [esp + 0x28], 2
jne 0x40b549
mov eax, dword [esp + 0x1c]
cmp eax, 4
jb 0x40b549
push ecx
lea edx, [esp + 0x338]
mov ecx, ebx
call fcn.00406c40
add esp, 4
test eax, eax
js 0x40b48f
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b420
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40b453
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40b440
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40b456
mov eax, dword [0x42fb90]
mov dword [ecx], eax
mov eax, dword [0x42fb94]
mov dword [ecx + 4], eax
mov ecx, ebx
call fcn.00406a80
test eax, eax
js 0x40b48f
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40b48f
push ebx
call ebp
test al, 0x10
jne 0x40b759
cmp dword [esp + 0x28], 2
jne 0x40b549
cmp dword [esp + 0x1c], 4
jb 0x40b549
push ecx
mov edx, 0x42df80
mov ecx, ebx
call fcn.00406c40
add esp, 4
test eax, eax
js 0x40b549
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b4c2
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40b4f3
lea edi, [ebx - 2]
nop dword [eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40b4e0
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40b4f6
mov eax, dword [str.ED_SORA3]
mov dword [ecx], eax
mov eax, dword [0x42fbd0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbd4]
mov dword [ecx + 8], eax
mov eax, dword [0x42fbd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x42fbdc]
mov word [ecx + 0x10], ax
mov ecx, ebx
call fcn.00406a80
test eax, eax
js 0x40b549
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40b549
push ebx
call ebp
test al, 0x10
jne 0x40b759
push ecx
lea edx, [esp + 0x338]
mov ecx, ebx
call fcn.00406b60
add esp, 4
test eax, eax
js 0x40b5f9
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b570
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40b5a3
lea edi, [ebx - 2]
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40b590
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40b5a6
mov eax, dword [str.ED_SORA3]
mov dword [ecx], eax
mov eax, dword [0x42fbd0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbd4]
mov dword [ecx + 8], eax
mov eax, dword [0x42fbd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x42fbdc]
mov word [ecx + 0x10], ax
mov ecx, ebx
call fcn.00406a80
test eax, eax
js 0x40b5f9
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40b5f9
push ebx
call ebp
test al, 0x10
jne 0x40b759
push ecx
mov edx, 0x42df80
mov ecx, ebx
call fcn.00406b60
add esp, 4
test eax, eax
js 0x40b699
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b616
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40b643
lea edi, [ebx - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40b630
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40b646
mov eax, dword [str.ED_SORA3]
mov dword [ecx], eax
mov eax, dword [0x42fbd0]
mov dword [ecx + 4], eax
mov eax, dword [0x42fbd4]
mov dword [ecx + 8], eax
mov eax, dword [0x42fbd8]
mov dword [ecx + 0xc], eax
mov ax, word [0x42fbdc]
mov word [ecx + 0x10], ax
mov ecx, ebx
call fcn.00406a80
test eax, eax
js 0x40b699
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40b699
push ebx
call ebp
test al, 0x10
jne 0x40b759
cmp word [0x57ed50], 0
jne 0x40b6cd
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 0x40b6cd
xor ecx, ecx
mov word [eax], cx
mov ecx, 0x57ed50
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0x40b6d2
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b6e7
sub ecx, edx
sar ecx, 1
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40b714
lea edi, [ebx - 2]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40b701
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea ecx, [ebx - 2]
nop word [eax + eax]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x40b720
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, ebx
call fcn.00406a80
test eax, eax
js 0x40b759
push ebx
call ebp
cmp eax, 0xffffffff
je 0x40b759
push ebx
call ebp
mov ecx, ebx
pop ebp
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b760
sub ecx, edx
sar ecx, 1
test ecx, ecx
jle 0x40b793
cmp word [ebx + ecx*2 - 2], 0x5c
je 0x40b793
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x40b780
mov eax, dword [0x42ee1c]
mov dword [edi], eax
lea edx, [esp + 0x538]
mov ecx, ebx
sub edx, ebx
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x40b7a0
lea eax, [esp + 0x538]
push 0x5c
push eax
call fcn.0040e819
add esp, 8
test eax, eax
je 0x40b7d0
xor ecx, ecx
mov word [eax], cx
nop dword [eax + eax]
xor ecx, ecx
movzx eax, word [ecx + str.ed6_win3.ini]
lea ecx, [ecx + 2]
mov word [esp + ecx + 0x536], ax
test ax, ax
jne 0x40b7d2
lea edx, [esp + 0x538]
mov esi, edx
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x40b7f2
sub edx, esi
add ebx, 0xfffffffe
mov ax, word [ebx + 2]
add ebx, 2
test ax, ax
jne 0x40b802
mov ecx, edx
mov edi, ebx
shr ecx, 2
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 ebx
add esp, 0x734
ret