Function at 0x1002b88c
Capabilities:
Get file attributes

Disassembly:
mov eax, 0x10064908
call fcn.10063318
sub esp, 0x410
mov byte [ebp - 0x40], cl
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test cl, cl
je 0x1002bcae
mov dword [ebp - 0x24], 0x3132
cmp dword [ebp - 0x24], 0x3288
jle 0x1002bc52
xor edi, edi
mov dword [ebp - 0x20], edi
xor esi, esi
mov dword [ebp - 0x28], esi
xor ebx, ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x34], 0x1b01
cmp dword [ebp - 0x34], 0x3fe
jge 0x1002bc10
movdqa xmm0, xmmword [0x10073610]
lea eax, [ebp - 0x2c]
movdqu xmmword [ebp - 0x78], xmm0
push eax
movdqa xmm0, xmmword [0x100735d0]
lea eax, [ebp - 0x1c]
movdqu xmmword [ebp - 0x68], xmm0
push eax
movdqa xmm0, xmmword [0x10073690]
movdqu xmmword [ebp - 0x98], xmm0
push str._d__d
movdqa xmm0, xmmword [0x100735f0]
movdqu xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x34], 1
movdqa xmm0, xmmword [0x10073620]
movdqu xmmword [ebp - 0xd8], xmm0
movdqa xmm0, xmmword [0x100735e0]
movdqu xmmword [ebp - 0xc8], xmm0
movdqa xmm0, xmmword [0x10073600]
movdqu xmmword [ebp - 0xb8], xmm0
movdqa xmm0, xmmword [0x10073630]
movdqu xmmword [ebp - 0xa8], xmm0
call fcn.1004b73b
mov ebx, dword [ebp - 0x1c]
add esp, 0xc
test ebx, ebx
je 0x1002bc0d
xor edi, edi
test ebx, ebx
jle 0x1002b9b7
xor esi, esi
mov eax, dword [ebp - 0x2c]
lea ecx, [esi + 0x10146020]
lea eax, [eax + 0x10146020]
add eax, esi
sub eax, ecx
push eax
push 0x45
push ecx
call fcn.1004b1d0
mov ebx, dword [ebp - 0x1c]
add esp, 0xc
inc edi
add esi, 0x34
cmp edi, ebx
jl 0x1002b98d
imul ebx, dword [ebp - 0x2c]
lea eax, [ebp - 0x38]
push eax
push 0x1006d794
call fcn.1004b73b
xor eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x38], eax
jle 0x1002ba1e
lea edi, [ebp - 0x1ac]
lea edi, [edi + eax*4]
lea esi, [ebp - 0x34c]
lea esi, [esi + eax*4]
push edi
push esi
push str._d__d
call fcn.1004b73b
add esp, 0xc
dec dword [esi]
imul eax, dword [esi], 0x34
dec dword [edi]
mov ecx, dword [edi]
cmp byte [eax + ecx + 0x10146020], 0x45
jne 0x1002ba12
mov byte [eax + ecx + 0x10146020], 0x51
dec ebx
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x38]
jl 0x1002b9d5
lea eax, [ebp - 0x30]
push eax
push 0x1006d794
call fcn.1004b73b
xor eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x30], eax
jle 0x1002ba81
lea edi, [ebp - 0x41c]
lea edi, [edi + eax*4]
lea esi, [ebp - 0x27c]
lea esi, [esi + eax*4]
push edi
push esi
push str._d__d
call fcn.1004b73b
add esp, 0xc
dec dword [esi]
imul eax, dword [esi], 0x34
dec dword [edi]
mov ecx, dword [edi]
cmp byte [eax + ecx + 0x10146020], 0x45
jne 0x1002ba75
mov byte [eax + ecx + 0x10146020], 0x4b
dec ebx
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x30]
jl 0x1002ba38
lea eax, [ebp - 0x48]
push eax
push 0x1006d794
call fcn.1004b73b
xor esi, esi
pop ecx
pop ecx
cmp dword [ebp - 0x48], esi
jle 0x1002bad7
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push str._d__d
call fcn.1004b73b
mov eax, dword [ebp - 0x4c]
add esp, 0xc
mov ecx, dword [ebp - 0x50]
dec eax
mov dword [ebp - 0x4c], eax
dec ecx
imul eax, eax, 0x34
mov dword [ebp - 0x50], ecx
cmp byte [eax + ecx + 0x10146020], 0x45
jne 0x1002bad1
mov byte [eax + ecx + 0x10146020], 0x50
dec ebx
inc esi
cmp esi, dword [ebp - 0x48]
jl 0x1002ba98
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x38], eax
jle 0x1002bb72
mov ecx, dword [ebp + eax*4 - 0x34c]
xor edx, edx
mov edi, dword [ebp + eax*4 - 0x1ac]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x58], edi
mov eax, dword [ebp + edx - 0x78]
lea esi, [ecx + eax]
mov ecx, dword [ebp + edx - 0x98]
add ecx, edi
test esi, esi
js 0x1002bb57
imul edi, esi, 0x34
imul eax, eax, 0x34
mov dword [ebp - 0x54], eax
cmp esi, dword [ebp - 0x1c]
jge 0x1002bb54
test ecx, ecx
js 0x1002bb54
cmp ecx, dword [ebp - 0x2c]
jge 0x1002bb54
mov al, byte [ecx + edi + 0x10146020]
cmp al, 0x58
je 0x1002bb35
cmp al, 0x45
jne 0x1002bb54
cmp al, 0x45
jne 0x1002bb42
mov byte [ecx + edi + 0x10146020], 0x58
dec ebx
add esi, dword [ebp + edx - 0x78]
add edi, dword [ebp - 0x54]
add ecx, dword [ebp + edx - 0x98]
test esi, esi
jns 0x1002bb18
mov edi, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x3c]
add edx, 4
cmp edx, 0x20
jl 0x1002bafb
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x38]
jl 0x1002bae5
xor ecx, ecx
cmp dword [ebp - 0x30], ecx
jle 0x1002bbcf
mov edi, dword [ebp - 0x2c]
xor edx, edx
mov esi, dword [ebp + edx - 0xd8]
mov eax, dword [ebp + edx - 0xb8]
add esi, dword [ebp + ecx*4 - 0x27c]
add eax, dword [ebp + ecx*4 - 0x41c]
test esi, esi
js 0x1002bbc1
cmp esi, dword [ebp - 0x1c]
jge 0x1002bbc1
test eax, eax
js 0x1002bbc1
cmp eax, edi
jge 0x1002bbc1
imul esi, esi, 0x34
cmp byte [esi + eax + 0x10146020], 0x45
jne 0x1002bbc1
mov byte [esi + eax + 0x10146020], 0x58
dec ebx
add edx, 4
cmp edx, 0x20
jl 0x1002bb7e
inc ecx
cmp ecx, dword [ebp - 0x30]
jl 0x1002bb7c
mov ecx, dword [ebp - 0x34]
mov eax, ecx
push ebx
push eax
inc ecx
push str.Board__d_has__d_safe_squares._n
mov dword [ebp - 0x34], ecx
call fcn.1004b116
add esp, 0xc
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x1c]
push eax
push str._d__d
call fcn.1004b73b
mov ebx, dword [ebp - 0x1c]
add esp, 0xc
test ebx, ebx
jne 0x1002b985
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x44]
lea eax, [ebx + esi]
mov ecx, 0x10081838
and eax, edi
cdq
push edx
push eax
call fcn.10001e6d
inc ebx
mov dword [ebp - 0x44], ebx
cmp ebx, 0x41ac
jl 0x1002b8d0
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x306c
jl 0x1002b8cb
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x64ad
jl 0x1002b8c6
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
mov eax, dword [edx]
mov dword [ecx], eax
mov edx, dword [edx]
mov eax, dword [ebp + 0x10]
add edx, dword [ecx]
mov eax, dword [eax]
and dword [ebp - 4], 0
cmp dword [ebp - 0x24], 0x3031
mov dword [eax], edx
jge 0x1002bc83
mov edx, str.fpbhwntt_ojaj_dlhbiolhg
mov ecx, 0x10081838
call fcn.100038af
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x28], 0x21ea
cmp dword [ebp - 0x28], 0x245f
jle 0x1002bd2a
push 0
push 0x224
push 0x1bc0
push 0x1bfc
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
xor ebx, ebx
xor esi, esi
mov dword [ebp - 0x20], esi
xor edi, edi
mov dword [ebp - 0x24], edi
lea eax, [edi + esi]
mov edi, 0xc48
mov dword [ebp - 0x3c], eax
mov esi, eax
mov eax, esi
mov ecx, 0x10081838
and eax, ebx
cdq
push edx
push eax
call fcn.10001e6d
dec esi
dec edi
jne 0x1002bcee
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x18c2
jl 0x1002bce1
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x7829
jl 0x1002bcdc
inc ebx
cmp ebx, 0x6e83
jl 0x1002bcd7
mov eax, dword [ebp + 8]
cmp byte [eax], 0
je 0x1002bd3a
push 0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [ebp - 4], 2
cmp dword [ebp - 0x28], 0x20d5
jge 0x1002bc83
mov edx, str.lnncppnxl_ofbcftii_ntdkuvtgq_efwq_qjohhnskb_esfdgir
mov ecx, 0x10081838
call fcn.100038af
jmp 0x1002bc83