Function at 0x40de80
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46c640
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x3d8
push ebx
push esi
push edi
push ecx
lea edi, [ebp - 0x3e8]
mov ecx, 0xf6
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x485010]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + eax*4 + 0x6b854], 0
je 0x40e354
push 0xb
push 0
lea eax, [ebp - 0x30]
push eax
call fcn.00418870
add esp, 0xc
push 0xb
push 0
lea eax, [ebp - 0x44]
push eax
call fcn.00418870
add esp, 0xc
push 0xb
push 0
lea eax, [ebp - 0x58]
push eax
call fcn.00418870
add esp, 0xc
push 0xff
push 0
lea eax, [ebp - 0x2a4]
push eax
call fcn.00418870
add esp, 0xc
push 0x3f
push 0
lea eax, [ebp - 0x2ec]
push eax
call fcn.00418870
add esp, 0xc
mov eax, dword [ebp + 0xc]
add eax, 6
mov dword [ebp - 0x16c], eax
push 0xa
mov eax, dword [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x44]
push ecx
call fcn.00413650
add esp, 0xc
mov eax, dword [ebp - 0x16c]
add eax, 0xa
mov dword [ebp - 0x16c], eax
push 0xa
mov eax, dword [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x30]
push ecx
call fcn.00413650
add esp, 0xc
mov eax, dword [ebp - 0x16c]
add eax, 0xa
mov dword [ebp - 0x16c], eax
push 0xa
mov eax, dword [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x58]
push ecx
call fcn.00413650
add esp, 0xc
mov eax, dword [ebp - 0x16c]
add eax, 0xa
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
movsx ecx, byte [eax]
mov dword [ebp - 0x304], ecx
mov eax, dword [ebp - 0x16c]
add eax, 1
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp + 0x10]
sub eax, 0x28
jne 0x40dfed
push str._X__Character_data_body_empty:_Cannot_create__save_data_file.
call fcn.00413cf0
add esp, 4
jmp 0x40e354
push str.Character
lea eax, [ebp - 0x2a4]
push eax
call fcn.0041acc0
add esp, 8
push 0x46e9b4
lea eax, [ebp - 0x2a4]
push eax
call fcn.0041acc0
add esp, 8
push 0x46e9b4
lea eax, [ebp - 0x2a4]
push eax
call fcn.0041acc0
add esp, 8
mov eax, 1
imul ecx, eax, 0
movsx edx, byte [ebp + ecx - 0x44]
mov esi, esp
push edx
push str.AscII_d
lea eax, [ebp - 0x2ec]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp esi, esp
call fcn.00418a80
lea eax, [ebp - 0x2ec]
push eax
lea ecx, [ebp - 0x2a4]
push ecx
call fcn.0041acc0
add esp, 8
push 0x46e9b4
lea eax, [ebp - 0x2a4]
push eax
call fcn.0041acc0
add esp, 8
push 0x46e9b4
lea eax, [ebp - 0x2a4]
push eax
call fcn.0041acc0
add esp, 8
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x2a4]
push ecx
call fcn.0041acc0
add esp, 8
push str..txt
lea eax, [ebp - 0x2a4]
push eax
call fcn.0041acc0
add esp, 8
push 0x46e5dc
lea eax, [ebp - 0x2a4]
push eax
call fcn.0041ba10
add esp, 8
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0
jne 0x40e10c
mov esi, esp
lea eax, [ebp - 0x44]
push eax
push str._X__Cannot_create_character_data_file_:_Name__s_
push 0x4884a0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp esi, esp
call fcn.00418a80
push 0x4884a0
call fcn.00413cf0
add esp, 4
jmp 0x40e179
mov esi, esp
lea eax, [ebp - 0x44]
push eax
push str.Character_data_file_saved_:_Name__s_
push 0x4884a0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp esi, esp
call fcn.00418a80
push 0x4884a0
call fcn.00413cf0
add esp, 4
mov eax, dword [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 0x16c]
push ecx
call fcn.004190a0
add esp, 4
push eax
push 1
mov edx, dword [ebp - 0x16c]
push edx
call fcn.0041d100
add esp, 0x10
cmp dword [ebp - 0x19c], 0
je 0x40e179
mov eax, dword [ebp - 0x19c]
push eax
call fcn.0041b1b0
add esp, 4
cmp dword [ebp + 0x14], 1
jne 0x40e1c6
cmp dword [ebp + 0x18], 0
jne 0x40e1c6
mov esi, esp
lea eax, [ebp - 0x30]
push eax
push str.Account__s__log_out_request...
push 0x4884a0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp esi, esp
call fcn.00418a80
push 0x4884a0
call fcn.00413cf0
add esp, 4
push 0
push 0
push 0
lea eax, [ebp - 0x30]
push eax
push 0
mov ecx, dword [ebp - 0x1c]
call fcn.00409d20
cmp dword [ebp + 0x18], 1
jne case.0x40e2b2.1
push 0x100
push 0
lea eax, [ebp - 0x160]
push eax
call fcn.00418870
add esp, 0xc
lea eax, [ebp - 0x160]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x178]
mov dword [eax], 0xfb519
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x184], eax
mov eax, 0xf14
mov ecx, dword [ebp - 0x184]
mov word [ecx], ax
lea eax, [ebp - 0x15a]
mov dword [ebp - 0x16c], eax
push 0xa
lea eax, [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x16c]
push ecx
call fcn.00413650
add esp, 0xc
mov eax, dword [ebp - 0x16c]
add eax, 0xa
mov dword [ebp - 0x16c], eax
push 0
push 0x10
lea eax, [ebp - 0x160]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + ecx*4 + 0x6b854]
mov ecx, dword [eax + 0x24]
call fcn.00417b20
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x3e4]
mov dword [ebp - 0x190], ecx
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x3e4]
add ecx, 0x86
mov dword [ebp - 0x3e4], ecx
cmp dword [ebp - 0x3e4], 7
ja case.0x40e2b2.1
mov edx, dword [ebp - 0x3e4]
movzx eax, byte [edx + 0x40e428]
jmp dword [eax*4 + 0x40e420]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax*4 + 0x6b854]
mov dword [ebp - 0x3d0], edx
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x3dc], eax
cmp dword [ebp - 0x3dc], 0
je 0x40e312
mov esi, esp
push 1
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3dc]
mov eax, dword [edx]
call eax
cmp esi, esp
call fcn.00418a80
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x3e4]
mov dword [ebp - 0x3e8], ecx
jmp 0x40e31c
mov dword [ebp - 0x3e8], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + eax*4 + 0x6b854], 0
jmp 0x40e354
jmp 0x40e344
mov dword [ebp - 4], 0xffffffff
jmp 0x40e354
push edx
mov ecx, ebp
push eax
lea edx, [0x40e390]
call fcn.00418a20
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00419b10
add esp, 0x3e8
cmp ebp, esp
call fcn.00418a80
mov esp, ebp
pop ebp
ret 0x14