Function at 0x402270
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x514
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov byte [ebp - 0x50d], 0
mov dword [ebp - 0x514], 0
push 0x42cc50
push str.DIARY
push 0x44b280
push 0x426798
push 0x4696a8
call fcn.00401a20
add esp, 0x14
push 0x4696a8
call fcn.00402160
add esp, 4
push 0x4267a0
push 0x4696a8
call fcn.0040e274
add esp, 8
mov dword [0x45d888], eax
cmp dword [0x45d888], 0
je 0x402322
push 0x4267a4
push 0x4696a8
call fcn.0040e274
add esp, 8
mov dword [0x45d888], eax
mov eax, dword [0x45d888]
push eax
push 1
push 0x1948
push 0x476de0
call fcn.0040efd7
add esp, 0x10
mov ecx, dword [0x45d888]
push ecx
call fcn.0040e3b0
add esp, 4
push str.TSHORT
push 0x44b280
push 0x4267b0
push 0x4696a8
call fcn.00401a20
add esp, 0x10
push 0x4267b8
push 0x4696a8
call fcn.0040e274
add esp, 8
mov dword [0x45d888], eax
cmp dword [0x45d888], 0
je 0x402376
mov edx, dword [0x45d888]
push edx
call fcn.0040e3b0
add esp, 4
mov byte [ebp - 0x50d], 1
jmp 0x40237d
mov byte [ebp - 0x50d], 0
movzx eax, byte [ebp - 0x50d]
cmp eax, 1
jne 0x402538
push str.TRANSFER1
push 0x44b280
push 0x4267c8
push 0x4696a8
call fcn.00401a20
add esp, 0x10
push 0x4696a8
call fcn.00402160
add esp, 4
push 0x4267d0
push 0x4696a8
call fcn.0040e274
add esp, 8
mov dword [0x45d888], eax
mov ecx, dword [0x45d888]
push ecx
push 1
push 0x504
lea edx, [ebp - 0x508]
push edx
call fcn.0040efd7
add esp, 0x10
cmp dword [0x45d888], 0
je 0x402401
mov eax, dword [0x45d888]
push eax
call fcn.0040e3b0
add esp, 4
mov cx, word [ebp - 0x4e2]
mov word [0x44e670], cx
mov dx, word [ebp - 0x4e8]
mov word [0x46979c], dx
mov eax, 1
mov word [ebp - 0x50c], ax
jmp 0x40243d
mov cx, word [ebp - 0x50c]
add cx, 1
mov word [ebp - 0x50c], cx
movsx edx, word [ebp - 0x50c]
movsx eax, word [0x44e670]
cmp edx, eax
jg 0x40246f
movsx ecx, word [ebp - 0x50c]
movsx edx, word [ebp - 0x50c]
mov ax, word [ebp + ecx*2 - 0xe0]
mov word [edx*2 + 0x476db4], ax
jmp 0x40242b
mov ecx, 1
mov word [ebp - 0x50c], cx
jmp 0x40248f
mov dx, word [ebp - 0x50c]
add dx, 1
mov word [ebp - 0x50c], dx
movsx eax, word [ebp - 0x50c]
movsx ecx, word [0x46979c]
cmp eax, ecx
jg 0x4024c1
movsx edx, word [ebp - 0x50c]
movsx eax, word [ebp - 0x50c]
mov cx, word [ebp + edx*2 - 0x1a8]
mov word [eax*2 + 0x44b688], cx
jmp 0x40247d
push str.LOADCHAR
push 0x44b280
push 0x4267e0
push 0x44b768
call fcn.00401a20
add esp, 0x10
push 0x44b768
call fcn.00402160
add esp, 4
push 0x4267e8
push 0x44b768
call fcn.0040e274
add esp, 8
mov dword [0x45d888], eax
mov edx, dword [0x45d888]
push edx
push 1
push 0x1a70
push 0x42ac58
call fcn.0040efd7
add esp, 0x10
cmp dword [0x45d888], 0
je 0x402533
mov eax, dword [0x45d888]
push eax
call fcn.0040e3b0
add esp, 4
jmp 0x4026de
push str.TRANSFERN
push 0x44b280
push 0x4267f8
push 0x4696a8
call fcn.00401a20
add esp, 0x10
push 0x4696a8
call fcn.00402160
add esp, 4
push 0x426800
push 0x4696a8
call fcn.0040e274
add esp, 8
mov dword [0x45d888], eax
mov ecx, dword [0x45d888]
push ecx
push 1
push 0x504
lea edx, [ebp - 0x508]
push edx
call fcn.0040efd7
add esp, 0x10
cmp dword [0x45d888], 0
je 0x4025ac
mov eax, dword [0x45d888]
push eax
call fcn.0040e3b0
add esp, 4
mov cx, word [ebp - 0x4e2]
mov word [0x44e670], cx
mov dx, word [ebp - 0x4e8]
mov word [0x46979c], dx
mov eax, 1
mov word [ebp - 0x50c], ax
jmp 0x4025e8
mov cx, word [ebp - 0x50c]
add cx, 1
mov word [ebp - 0x50c], cx
movsx edx, word [ebp - 0x50c]
movsx eax, word [0x44e670]
cmp edx, eax
jg 0x40261a
movsx ecx, word [ebp - 0x50c]
movsx edx, word [ebp - 0x50c]
mov ax, word [ebp + ecx*2 - 0xe0]
mov word [edx*2 + 0x476db4], ax
jmp 0x4025d6
mov ecx, 1
mov word [ebp - 0x50c], cx
jmp 0x40263a
mov dx, word [ebp - 0x50c]
add dx, 1
mov word [ebp - 0x50c], dx
movsx eax, word [ebp - 0x50c]
movsx ecx, word [0x46979c]
cmp eax, ecx
jg 0x40266c
movsx edx, word [ebp - 0x50c]
movsx eax, word [ebp - 0x50c]
mov cx, word [ebp + edx*2 - 0x1a8]
mov word [eax*2 + 0x44b688], cx
jmp 0x402628
push str.LOADCHARN
push 0x44b280
push 0x426810
push 0x44b768
call fcn.00401a20
add esp, 0x10
push 0x44b768
call fcn.00402160
add esp, 4
push 0x426818
push 0x44b768
call fcn.0040e274
add esp, 8
mov dword [0x45d888], eax
mov edx, dword [0x45d888]
push edx
push 1
push 0x1a70
push 0x42ac58
call fcn.0040efd7
add esp, 0x10
cmp dword [0x45d888], 0
je 0x4026de
mov eax, dword [0x45d888]
push eax
call fcn.0040e3b0
add esp, 4
mov cx, word [0x42ac5a]
mov word [0x44b27c], cx
movsx edx, word [0x42ac5c]
cmp edx, 1
jne 0x402757
mov eax, 1
mov word [ebp - 0x50c], ax
jmp 0x402718
mov cx, word [ebp - 0x50c]
add cx, 1
mov word [ebp - 0x50c], cx
movsx edx, word [ebp - 0x50c]
movsx eax, word [0x46979c]
cmp edx, eax
jg 0x402757
movsx ecx, word [ebp - 0x50c]
movzx edx, byte [ecx + 0x42c130]
cmp edx, 1
jne 0x402755
movsx eax, word [ebp - 0x50c]
movss xmm0, dword [0x426c90]
movss dword [eax*4 + 0x42bfa0], xmm0
jmp 0x402706
mov ecx, 1
mov word [ebp - 0x50c], cx
jmp 0x402777
mov dx, word [ebp - 0x50c]
add dx, 1
mov word [ebp - 0x50c], dx
movsx eax, word [ebp - 0x50c]
movsx ecx, word [0x46979c]
cmp eax, ecx
jg 0x40281e
movsx edx, word [ebp - 0x50c]
movsx eax, byte [edx + 0x42ad88]
cmp eax, 0x41
jne 0x40280b
movsx ecx, word [ebp - 0x50c]
movsx edx, word [ecx*2 + 0x42b484]
cmp edx, 1
je 0x4027c8
movsx eax, word [ebp - 0x50c]
movsx ecx, word [eax*2 + 0x42b484]
cmp ecx, 0xc
jne 0x4027fb
movsx edx, word [ebp - 0x50c]
mov byte [edx + 0x42b106], 0x57
mov eax, dword [ebp - 0x514]
add eax, 1
mov dword [ebp - 0x514], eax
movsx ecx, word [ebp - 0x50c]
mov edx, dword [ebp - 0x514]
mov dword [ecx*4 + 0x42ca90], edx
jmp 0x402809
movsx eax, word [ebp - 0x50c]
mov byte [eax + 0x42b106], 0x54
jmp 0x402819
movsx ecx, word [ebp - 0x50c]
mov byte [ecx + 0x42b106], 0x4e
jmp 0x402765
push 0x1a70
push 0x42ac58
push 0x4697a8
call fcn.0040a7b0
add esp, 0xc
push 0x42cc50
push str.PARAM00
push 0x44b280
push 0x426824
push 0x4696a8
call fcn.00401a20
add esp, 0x14
push 0x4696a8
call fcn.00402160
add esp, 4
push 0x42682c
push 0x4696a8
call fcn.0040e274
add esp, 8
mov dword [0x45d888], eax
mov edx, dword [0x45d888]
push edx
push 1
push 0x2e8
push 0x44b378
call fcn.0040efd7
add esp, 0x10
cmp dword [0x45d888], 0
je 0x4028ac
mov eax, dword [0x45d888]
push eax
call fcn.0040e3b0
add esp, 4
movsx ecx, word [0x44b38c]
movsx edx, word [0x44b38e]
add ecx, edx
shl ecx, 1
mov word [0x476db0], cx
movsx eax, word [0x476db0]
cmp eax, 0x1068
jle 0x4028df
mov ecx, 0x1068
mov word [0x476db0], cx
push 0x42cc50
push 0x44b280
push str._sEDGE_s
push 0x4696a8
call fcn.00401a20
add esp, 0x10
push 0x4696a8
call fcn.00402160
add esp, 4
push 0x42683c
push 0x4696a8
call fcn.0040e274
add esp, 8
mov dword [0x45d888], eax
mov edx, 1
mov word [ebp - 0x50c], dx
jmp 0x40293f
mov ax, word [ebp - 0x50c]
add ax, 1
mov word [ebp - 0x50c], ax
movsx ecx, word [ebp - 0x50c]
movsx edx, word [0x44b37c]
cmp ecx, edx
jg 0x402976
mov eax, dword [0x45d888]
push eax
push 1
push 0x68
movsx ecx, word [ebp - 0x50c]
imul edx, ecx, 0x68
add edx, 0x44b958
push edx
call fcn.0040efd7
add esp, 0x10
jmp 0x40292d
cmp dword [0x45d888], 0
je 0x40298d
mov eax, dword [0x45d888]
push eax
call fcn.0040e3b0
add esp, 4
movsx ecx, word [0x44b3ba]
test ecx, ecx
jle 0x402a4e
push 0x42cc50
push 0x44b280
push str._sGIRDER_s
push 0x4696a8
call fcn.00401a20
add esp, 0x10
push 0x4696a8
call fcn.00402160
add esp, 4
push 0x42684c
push 0x4696a8
call fcn.0040e274
add esp, 8
mov dword [0x45d888], eax
mov edx, 1
mov word [ebp - 0x50c], dx
jmp 0x4029fc
mov ax, word [ebp - 0x50c]
add ax, 1
mov word [ebp - 0x50c], ax
movsx ecx, word [ebp - 0x50c]
movsx edx, word [0x44b3ba]
cmp ecx, edx
jg 0x402a36
mov eax, dword [0x45d888]
push eax
push 1
push 0xf200
movsx ecx, word [ebp - 0x50c]
shl ecx, 9
add ecx, 0x44e680
push ecx
call fcn.0040efd7
add esp, 0x10
jmp 0x4029ea
cmp dword [0x45d888], 0
je 0x402a4e
mov edx, dword [0x45d888]
push edx
call fcn.0040e3b0
add esp, 4
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00408977
mov esp, ebp
pop ebp
ret