Function at 0x4c7780
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x57c870]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x5f6638], 2
jl 0x4c77a1
jmp 0x4c7a46
mov dword [ebp - 0x20], 0x20
mov eax, dword [0x5f5664]
sub eax, 1
cdq
idiv dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x24], eax
mov eax, 2
mov word [ebp - 0x200], ax
mov cx, word [ebp - 0x24]
mov word [ebp - 0x1fe], cx
mov dx, word [0x5f5664]
mov word [ebp - 0x1fc], dx
mov dword [ebp - 0x1c], 1
jmp 0x4c77f1
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x24]
jg 0x4c78c2
push 0xc2
push 0
lea edx, [ebp - 0x1fa]
push edx
call fcn.005323e0
add esp, 0xc
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x24]
jne 0x4c7832
mov eax, dword [0x5f5664]
sub eax, 1
cdq
idiv dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x12c], edx
jmp 0x4c783b
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x12c]
imul edx, edx, 6
push edx
mov eax, dword [ebp - 0x1c]
sub eax, 1
imul eax, dword [ebp - 0x20]
add eax, 1
imul eax, eax, 6
add eax, 0xd86c80
push eax
lea ecx, [ebp - 0x1fa]
push ecx
call fcn.00533040
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
sub eax, 1
imul eax, eax, 0xc8
add eax, 4
mov dword [ebp - 0x134], eax
push 0
mov ecx, dword [ebp - 0x134]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00532940
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
push 1
push 0xc8
lea ecx, [ebp - 0x200]
push ecx
call fcn.005337fa
add esp, 0x10
jmp 0x4c77e8
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00455880
add esp, 8
cmp dword [0x5c6c1c], 1
jne 0x4c7a46
mov dword [ebp - 0x1c], 1
jmp 0x4c78f3
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [0x5f5664]
jg 0x4c7a46
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 6
movzx edx, byte [ecx + 0xd86c83]
and edx, 0x80
je 0x4c792a
push str.wrong
lea eax, [ebp - 0x18]
push eax
call fcn.00532580
add esp, 8
jmp 0x4c793b
push str.right
lea ecx, [ebp - 0x18]
push ecx
call fcn.00532580
add esp, 8
mov edx, dword [ebp - 0x1c]
imul edx, edx, 6
movzx eax, byte [edx + 0xd86c83]
and eax, 0x7f
mov byte [ebp - 0x12d], al
movsx ecx, byte [ebp - 0x12d]
cmp ecx, 0x7f
jne 0x4c7973
push str.unanswered
lea edx, [ebp - 0x214]
push edx
call fcn.00532580
add esp, 8
jmp 0x4c79e7
movsx eax, byte [ebp - 0x12d]
cmp eax, 0x40
jne 0x4c7995
push str.unknown_answer
lea ecx, [ebp - 0x214]
push ecx
call fcn.00532580
add esp, 8
jmp 0x4c79e7
movsx edx, byte [ebp - 0x12d]
cmp edx, 0x41
jl 0x4c79cb
movsx eax, byte [ebp - 0x12d]
cmp eax, 0x46
jg 0x4c79cb
movsx ecx, byte [ebp - 0x12d]
push ecx
push 0x573e40
lea edx, [ebp - 0x214]
push edx
call fcn.00532706
add esp, 0xc
jmp 0x4c79e7
movsx eax, byte [ebp - 0x12d]
push eax
push str.ClickDrag___x_
lea ecx, [ebp - 0x214]
push ecx
call fcn.00532706
add esp, 0xc
lea edx, [ebp - 0x214]
push edx
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 6
movzx edx, byte [ecx + 0xd86c82]
push edx
mov eax, dword [ebp - 0x1c]
imul eax, eax, 6
movzx ecx, byte [eax + 0xd86c81]
push ecx
mov edx, dword [ebp - 0x1c]
imul edx, edx, 6
movzx eax, byte [edx + 0xd86c80]
push eax
push str._02d_03d_03d__W_R_s___ANSWER_s
lea ecx, [ebp - 0x128]
push ecx
call fcn.00532706
add esp, 0x1c
lea edx, [ebp - 0x128]
push edx
push 0
call fcn.00436500
add esp, 8
jmp 0x4c78ea
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00532783
mov esp, ebp
pop ebp
ret