Function at 0x402690
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 8], 0
push 0x4ccaf0
push str.DIARY
push 0x4ccce0
push 0x43c570
push 0x4cc900
call fcn.00401f00
add esp, 0x14
push 0x4cc900
call fcn.00402370
add esp, 4
push 0x43c578
push 0x4cc900
call fcn.0042b546
add esp, 8
mov dword [0x46ac90], eax
cmp dword [0x46ac90], 0
je 0x40272b
push 0x43c57c
push 0x4cc900
call fcn.0042b546
add esp, 8
mov dword [0x46ac90], eax
mov eax, dword [0x46ac90]
push eax
push 1
push 0x1948
push 0x4482f0
call fcn.0042b7c5
add esp, 0x10
mov ecx, dword [0x46ac90]
push ecx
call fcn.0042b45f
add esp, 4
push str.TRANSFERS
push 0x4ccce0
push 0x43c58c
push 0x4cc900
call fcn.00401f00
add esp, 0x10
push 0x4cc900
call fcn.00402370
add esp, 4
push 0x43c594
push 0x4cc900
call fcn.0042b546
add esp, 8
mov dword [0x46ac90], eax
cmp dword [0x46ac90], 0
je 0x40279d
mov edx, dword [0x46ac90]
push edx
push 1
push 0x42c
push 0x47fb98
call fcn.0042b7c5
add esp, 0x10
mov eax, dword [0x46ac90]
push eax
call fcn.0042b45f
add esp, 4
mov cx, word [0x47fba6]
mov word [0x47f634], cx
mov dx, word [0x47fba4]
mov word [0x47f638], dx
mov eax, 1
mov word [ebp - 4], ax
jmp 0x4027d0
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
movsx edx, word [ebp - 4]
movsx eax, word [0x47f634]
cmp edx, eax
jg 0x4027f9
movsx ecx, word [ebp - 4]
movsx edx, word [ebp - 4]
mov ax, word [ecx*2 + 0x47ff90]
mov word [edx*2 + 0x47f5fc], ax
jmp 0x4027c4
mov ecx, 1
mov word [ebp - 4], cx
jmp 0x402810
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
movsx eax, word [ebp - 4]
movsx ecx, word [0x47f638]
cmp eax, ecx
jg 0x402839
movsx edx, word [ebp - 4]
movsx eax, word [ebp - 4]
mov cx, word [edx*2 + 0x47fec8]
mov word [eax*2 + 0x47a2f0], cx
jmp 0x402804
push 0x43c598
push 0x4ccce0
push 0x43c5a4
push 0x4cc9f8
call fcn.00401f00
add esp, 0x10
push 0x4cc9f8
call fcn.00402370
add esp, 4
push 0x43c5ac
push 0x4cc9f8
call fcn.0042b546
add esp, 8
mov dword [0x46ac90], eax
mov edx, dword [0x46ac90]
push edx
push 1
push 0x1a70
push 0x47a3c0
call fcn.0042b7c5
add esp, 0x10
cmp dword [0x46ac90], 0
je 0x4028ab
mov eax, dword [0x46ac90]
push eax
call fcn.0042b45f
add esp, 4
mov cx, word [0x47a3c2]
mov word [0x47f628], cx
movsx edx, word [0x47a3c4]
cmp edx, 1
jne 0x402912
mov eax, 1
mov word [ebp - 4], ax
jmp 0x4028dc
mov cx, word [ebp - 4]
add cx, 1
mov word [ebp - 4], cx
movsx edx, word [ebp - 4]
movsx eax, word [0x47f638]
cmp edx, eax
jg 0x402912
movsx ecx, word [ebp - 4]
movzx edx, byte [ecx + 0x47b898]
cmp edx, 1
jne 0x402910
movsx eax, word [ebp - 4]
movss xmm0, dword [0x43d3d0]
movss dword [eax*4 + 0x47b3e8], xmm0
jmp 0x4028d0
mov ecx, 1
mov word [ebp - 4], cx
jmp 0x402929
mov dx, word [ebp - 4]
add dx, 1
mov word [ebp - 4], dx
movsx eax, word [ebp - 4]
movsx ecx, word [0x47f638]
cmp eax, ecx
jg 0x4029ab
movsx edx, word [ebp - 4]
movsx eax, byte [edx + 0x47a4f0]
cmp eax, 0x41
jne 0x40299b
movsx ecx, word [ebp - 4]
movsx edx, word [ecx*2 + 0x47abec]
cmp edx, 1
je 0x40296a
movsx eax, word [ebp - 4]
movsx ecx, word [eax*2 + 0x47abec]
cmp ecx, 0xc
jne 0x40298e
movsx edx, word [ebp - 4]
mov byte [edx + 0x47a86e], 0x57
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
movsx ecx, word [ebp - 4]
mov edx, dword [ebp - 8]
mov dword [ecx*4 + 0x47a160], edx
jmp 0x402999
movsx eax, word [ebp - 4]
mov byte [eax + 0x47a86e], 0x54
jmp 0x4029a6
movsx ecx, word [ebp - 4]
mov byte [ecx + 0x47a86e], 0x4e
jmp 0x40291d
push 0x1a70
push 0x47a3c0
push 0x47be30
call fcn.00425eb0
add esp, 0xc
push 0x1a70
push 0x47a3c0
push 0x47d8a0
call fcn.00425eb0
add esp, 0xc
push 0x4ccaf0
push str.PARAM00
push 0x4ccce0
push 0x43c5b8
push 0x4cc900
call fcn.00401f00
add esp, 0x14
push 0x4cc900
call fcn.00402370
add esp, 4
push 0x43c5c0
push 0x4cc900
call fcn.0042b546
add esp, 8
mov dword [0x46ac90], eax
mov edx, dword [0x46ac90]
push edx
push 1
push 0x2e8
push 0x47f310
call fcn.0042b7c5
add esp, 0x10
cmp dword [0x46ac90], 0
je 0x402a50
mov eax, dword [0x46ac90]
push eax
call fcn.0042b45f
add esp, 4
movsx ecx, word [0x47f324]
movsx edx, word [0x47f326]
add ecx, edx
shl ecx, 1
mov word [0x47f644], cx
movsx eax, word [0x47f644]
cmp eax, 0x1068
jle 0x402a83
mov ecx, 0x1068
mov word [0x47f644], cx
push 0x4ccaf0
push 0x4ccce0
push str._sEDGE_s
push 0x4cc900
call fcn.00401f00
add esp, 0x10
push 0x4cc900
call fcn.00402370
add esp, 4
push 0x43c5d0
push 0x4cc900
call fcn.0042b546
add esp, 8
mov dword [0x46ac90], eax
mov edx, 1
mov word [ebp - 4], dx
jmp 0x402ada
mov ax, word [ebp - 4]
add ax, 1
mov word [ebp - 4], ax
movsx ecx, word [ebp - 4]
movsx edx, word [0x47f314]
cmp ecx, edx
jg 0x402b0b
mov eax, dword [0x46ac90]
push eax
push 1
push 0x68
movsx ecx, word [ebp - 4]
imul edx, ecx, 0x68
add edx, 0x467f78
push edx
call fcn.0042b7c5
add esp, 0x10
jmp 0x402ace
cmp dword [0x46ac90], 0
je 0x402b22
mov eax, dword [0x46ac90]
push eax
call fcn.0042b45f
add esp, 4
movsx ecx, word [0x47f352]
test ecx, ecx
jle 0x402bd4
push 0x4ccaf0
push 0x4ccce0
push str._sGIRDER_s
push 0x4cc900
call fcn.00401f00
add esp, 0x10
push 0x4cc900
call fcn.00402370
add esp, 4
push 0x43c5e0
push 0x4cc900
call fcn.0042b546
add esp, 8
mov dword [0x46ac90], eax
mov edx, 1
mov word [ebp - 4], dx
jmp 0x402b88
mov ax, word [ebp - 4]
add ax, 1
mov word [ebp - 4], ax
movsx ecx, word [ebp - 4]
movsx edx, word [0x47f352]
cmp ecx, edx
jg 0x402bbc
mov eax, dword [0x46ac90]
push eax
push 1
push 0xf200
movsx ecx, word [ebp - 4]
shl ecx, 9
add ecx, 0x46af58
push ecx
call fcn.0042b7c5
add esp, 0x10
jmp 0x402b7c
cmp dword [0x46ac90], 0
je 0x402bd4
mov edx, dword [0x46ac90]
push edx
call fcn.0042b45f
add esp, 4
movsx eax, word [0x47f33a]
test eax, eax
jle 0x402c10
movsx ecx, word [0x47f346]
test ecx, ecx
jle 0x402c10
mov dx, word [0x47f634]
add dx, 1
mov word [0x47f634], dx
movsx eax, word [0x47f634]
mov ecx, 0xa
mov word [eax*2 + 0x47f5fc], cx
mov esp, ebp
pop ebp
ret