Function at 0x4139f1
Capabilities:
Extract resource via kernel32 functions
Query environment variable
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x324
nop
mov eax, dword [ebp + 8]
cmp eax, 0x4d3
jne 0x413a24
mov eax, str.Kalpurush.ttf
push eax
lea eax, [ebp - 0x100]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
jmp 0x413c32
mov eax, dword [ebp + 8]
cmp eax, 0x4d2
jne 0x413a4d
mov eax, str.NikoshBAN.ttf
push eax
lea eax, [ebp - 0x100]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
jmp 0x413c32
mov eax, dword [ebp + 8]
cmp eax, 0x7e8
jne 0x413a76
mov eax, str.ABU_SAYED.ttf
push eax
lea eax, [ebp - 0x100]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
jmp 0x413c32
mov eax, dword [ebp + 8]
cmp eax, 0x4d4
jne 0x413a9f
mov eax, str.Mukti.ttf
push eax
lea eax, [ebp - 0x100]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
jmp 0x413c32
mov eax, dword [ebp + 8]
cmp eax, 0x4d5
jne 0x413ac8
mov eax, str.SiyamRupali.ttf
push eax
lea eax, [ebp - 0x100]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
jmp 0x413c32
mov eax, dword [ebp + 8]
cmp eax, 0x4d6
jne 0x413af1
mov eax, str.SOLAIMANLIPI.ttf
push eax
lea eax, [ebp - 0x100]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
jmp 0x413c32
mov eax, dword [ebp + 8]
cmp eax, 0x4d7
jne 0x413b1a
mov eax, 0x57031a
push eax
lea eax, [ebp - 0x100]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
jmp 0x413c32
mov eax, dword [ebp + 8]
cmp eax, 0x4d7
jne 0x413b43
mov eax, str.SutonnyOMJ.ttf
push eax
lea eax, [ebp - 0x100]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
jmp 0x413c32
mov eax, dword [ebp + 8]
cmp eax, 0x4db
jne 0x413b6c
mov eax, str.BenSen.ttf
push eax
lea eax, [ebp - 0x100]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
jmp 0x413c32
mov eax, dword [ebp + 8]
cmp eax, 0x4da
jne 0x413b95
mov eax, str.HeadlineBangla.ttf
push eax
lea eax, [ebp - 0x100]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
jmp 0x413c32
mov eax, dword [ebp + 8]
cmp eax, 0x4d9
jne 0x413bbe
mov eax, str.Mir_Mugdho.ttf
push eax
lea eax, [ebp - 0x100]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
jmp 0x413c32
mov eax, dword [ebp + 8]
cmp eax, 0x4dc
jne 0x413be7
mov eax, str.NotoSerifBangla.ttf
push eax
lea eax, [ebp - 0x100]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
jmp 0x413c32
mov eax, dword [ebp + 8]
cmp eax, 0x4d8
jne 0x413c10
mov eax, str.TiroBangla.ttf
push eax
lea eax, [ebp - 0x100]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
jmp 0x413c32
mov eax, 0
push eax
mov eax, 0x57039d
push eax
mov eax, str.Unknown_resource_ID_
push eax
mov eax, 0
push eax
call sub.user32.dll_MessageBoxA
jmp 0x413fc2
mov eax, dword [ebp + 8]
and eax, 0xffff
mov ecx, 8
push ecx
push eax
mov eax, 0
push eax
call sub.kernel32.dll_FindResourceA
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x413c66
jmp 0x413c88
mov eax, 0
push eax
mov eax, 0x5703bc
push eax
mov eax, str.Failed_to_find_resource_
push eax
mov eax, 0
push eax
call sub.user32.dll_MessageBoxA
jmp 0x413fc2
mov eax, dword [ebp - 0x104]
push eax
mov eax, 0
push eax
call sub.kernel32.dll_LoadResource
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
test eax, eax
je 0x413cb3
jmp 0x413cd5
mov eax, 0
push eax
mov eax, 0x5703db
push eax
mov eax, str.Failed_to_load_resource_
push eax
mov eax, 0
push eax
call sub.user32.dll_MessageBoxA
jmp 0x413fc2
mov eax, dword [ebp - 0x108]
push eax
call sub.kernel32.dll_LockResource
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x10c]
test eax, eax
je 0x413cfa
jmp 0x413d1c
mov eax, 0
push eax
mov eax, 0x5703fa
push eax
mov eax, str.Failed_to_lock_resource_
push eax
mov eax, 0
push eax
call sub.user32.dll_MessageBoxA
jmp 0x413fc2
mov eax, dword [ebp - 0x104]
push eax
mov eax, 0
push eax
call sub.kernel32.dll_SizeofResource
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
cmp eax, 0
jne 0x413d65
mov eax, 0
push eax
mov eax, 0x570417
push eax
mov eax, str.Resource_size_is_zero_
push eax
mov eax, 0
push eax
call sub.user32.dll_MessageBoxA
jmp 0x413fc2
mov eax, 0x104
push eax
lea eax, [ebp - 0x214]
push eax
mov eax, 0x57041d
push eax
call sub.kernel32.dll_GetEnvironmentVariableA
mov eax, str.Desktop_
push eax
lea eax, [ebp - 0x214]
push eax
call sub.msvcrt.dll_strcat
add esp, 8
mov eax, str.C:WindowsFonts_
push eax
lea eax, [ebp - 0x318]
push eax
call sub.msvcrt.dll_strcpy
add esp, 8
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x214]
push eax
call sub.msvcrt.dll_strcat
add esp, 8
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x318]
push eax
call sub.msvcrt.dll_strcat
add esp, 8
mov eax, 0
push eax
mov eax, pe_nt_image_headers32
push eax
mov eax, 2
push eax
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0x40000000
push eax
lea eax, [ebp - 0x214]
push eax
call sub.kernel32.dll_CreateFileA
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
cmp eax, 0xffffffff
jne 0x413e3a
mov eax, 0
push eax
mov eax, 0x57045c
push eax
mov eax, 0x570445
push eax
mov eax, 0
push eax
call sub.user32.dll_MessageBoxA
jmp 0x413fc2
mov eax, 0
push eax
lea eax, [ebp - 0x320]
push eax
mov eax, dword [ebp - 0x110]
push eax
mov eax, dword [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x31c]
push eax
call sub.kernel32.dll_WriteFile
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x31c]
push eax
call sub.kernel32.dll_CloseHandle
mov eax, dword [ebp - 0x324]
test eax, eax
je 0x413e9a
mov eax, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x110]
cmp eax, ecx
jne 0x413e9a
jmp 0x413ebc
mov eax, 0
push eax
mov eax, 0x570478
push eax
mov eax, 0x570462
push eax
mov eax, 0
push eax
call sub.user32.dll_MessageBoxA
jmp 0x413fc2
mov eax, 0
push eax
mov eax, pe_nt_image_headers32
push eax
mov eax, 2
push eax
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0x40000000
push eax
lea eax, [ebp - 0x318]
push eax
call sub.kernel32.dll_CreateFileA
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
cmp eax, 0xffffffff
jne 0x413f23
mov eax, 0
push eax
mov eax, 0x570495
push eax
mov eax, str.Failed_to_create_file_
push eax
mov eax, 0
push eax
call sub.user32.dll_MessageBoxA
jmp 0x413fc2
mov eax, 0
push eax
lea eax, [ebp - 0x320]
push eax
mov eax, dword [ebp - 0x110]
push eax
mov eax, dword [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x31c]
push eax
call sub.kernel32.dll_WriteFile
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x31c]
push eax
call sub.kernel32.dll_CloseHandle
mov eax, dword [ebp - 0x324]
test eax, eax
je 0x413f83
mov eax, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x110]
cmp eax, ecx
jne 0x413f83
jmp 0x413fa5
mov eax, 0
push eax
mov eax, str.Error
push eax
mov eax, str.Failed_to_write_file_
push eax
mov eax, 0
push eax
call sub.user32.dll_MessageBoxA
jmp 0x413fc2
mov eax, 0
push eax
mov eax, str.Info
push eax
mov eax, str.TTF_extraced_successfully__
push eax
mov eax, 0
push eax
call sub.user32.dll_MessageBoxA
leave
ret