Function at 0x41b660
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
cmp byte [0x455cb8], 0
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xc], 0
mov eax, dword [ebx]
mov cl, byte [eax + 0x10]
mov byte [ebp + 0xb], cl
movzx ecx, word [eax + 6]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x14], eax
mov dword [ebp - 8], eax
jne 0x41ba5b
mov eax, 3
cmp ecx, eax
push esi
mov esi, dword [ebp + 0xc]
cmova ecx, eax
mov eax, dword [ebx]
push edi
mov edi, dword [sym.imp.MSVCR120.dll_fputs]
mov dword [ebp - 4], ecx
cmp byte [eax + 0x11], 0
je 0x41b9ab
push esi
push str._beginlongtable
call edi
mov ecx, dword [ebp - 4]
add esp, 8
cmp cx, 2
jb 0x41b6d9
push esi
push 0x43f28c
call edi
mov ecx, dword [ebp - 4]
add esp, 8
xor edx, edx
mov dword [ebp - 0x10], edx
cmp dword [ebx + 8], edx
jbe 0x41b7e6
mov eax, dword [ebx + 0x30]
mov al, byte [edx + eax]
cmp al, 0x6c
jne 0x41b7a7
cmp dword [ebp - 0x14], 0
je 0x41b7a7
push 0x43f2ec
push dword [ebp - 8]
call dword [sym.imp.MSVCR120.dll_strspn]
mov ecx, dword [ebp - 8]
add esp, 8
add ecx, eax
mov dword [ebp - 8], ecx
push esi
cmp byte [ecx], 0
je 0x41b768
push 0x43f2f0
call edi
add esp, 8
push esi
push 1
push 0x43f2ec
push dword [ebp - 8]
call dword [sym.imp.MSVCR120.dll_strcspn]
add esp, 8
push eax
push dword [ebp - 8]
call dword [sym.imp.MSVCR120.dll_fwrite]
mov eax, dword [ebp - 8]
push 0x43f2ec
push eax
mov dword [ebp - 0xc], eax
call dword [sym.imp.MSVCR120.dll_strcspn]
add dword [ebp - 8], eax
push esi
push str._textwidth
call edi
add esp, 0x20
jmp 0x41b7b5
cmp dword [ebp - 0xc], 0
je 0x41b7a3
push 0x43f2f0
call edi
add esp, 8
push esi
push 1
push 0x43f2ec
push dword [ebp - 0xc]
call dword [sym.imp.MSVCR120.dll_strcspn]
add esp, 8
push eax
push dword [ebp - 0xc]
call dword [sym.imp.MSVCR120.dll_fwrite]
push esi
push str._textwidth
call edi
add esp, 0x18
jmp 0x41b7b5
push 0x6c
jmp 0x41b7ac
push esi
movsx eax, al
push eax
call dword [sym.imp.MSVCR120.dll_fputc]
add esp, 8
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
test cx, cx
je 0x41b7d9
mov eax, dword [ebx + 8]
dec eax
cmp edx, eax
jae 0x41b7d9
push esi
push 0x43f290
call edi
mov ecx, dword [ebp - 4]
add esp, 8
mov edx, dword [ebp - 0x10]
inc edx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebx + 8]
jb 0x41b6e7
cmp cx, 2
jb 0x41b7f7
push esi
push 0x43f294
call edi
add esp, 8
push esi
push 0x43f298
call edi
add esp, 8
cmp byte [ebp + 0xb], 0
jne 0x41b9ab
cmp word [ebp - 4], 2
jb 0x41b81e
push esi
push str._toprule_n
call edi
add esp, 8
mov ecx, dword [ebx + 0x10]
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp + 8], ecx
cmp dword [ebx + 8], eax
jbe 0x41b86d
mov edi, edi
test eax, eax
je 0x41b83f
push esi
push 0x43f2a4
call edi
add esp, 8
push esi
push str._small_textbf_textit
call edi
mov eax, dword [ebp + 8]
push esi
push dword [eax]
call fcn.0041b2a0
push esi
push 0x43f324
call edi
mov eax, dword [ebp - 0x10]
add esp, 0x18
add dword [ebp + 8], 4
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebx + 8]
jb 0x41b830
push esi
push str.__n
call edi
push esi
push str.midrule_nendfirsthead_n
call edi
add esp, 0x10
cmp word [ebp - 4], 2
jb 0x41b892
push esi
push str._toprule_n
call edi
add esp, 8
mov ecx, dword [ebx + 0x10]
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp + 8], ecx
cmp dword [ebx + 8], eax
jbe 0x41b8df
test eax, eax
je 0x41b8b1
push esi
push 0x43f2a4
call edi
add esp, 8
push esi
push str._small_textbf_textit
call edi
mov eax, dword [ebp + 8]
push esi
push dword [eax]
call fcn.0041b2a0
push esi
push 0x43f324
call edi
mov eax, dword [ebp - 0x10]
add esp, 0x18
add dword [ebp + 8], 4
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebx + 8]
jb 0x41b8a2
push esi
push str.__n
call edi
add esp, 8
cmp word [ebp - 4], 3
je 0x41b8fc
push esi
push str.midrule_n
call edi
add esp, 8
push esi
push str.endhead_n
call edi
add esp, 8
cmp dword [ebx + 4], 0
je 0x41b991
cmp word [ebp - 4], 2
jne 0x41b923
push esi
push str._bottomrule_n
call edi
add esp, 8
push esi
push str.caption_
call edi
push esi
push dword [ebx + 4]
call fcn.0041b2a0
push esi
push str.__Continued__
call edi
push esi
push dword [ebx + 4]
call fcn.0041b2a0
push esi
push str._nendfoot_n
call edi
add esp, 0x28
cmp word [ebp - 4], 2
jne 0x41b962
push esi
push str._bottomrule_n
call edi
add esp, 8
push esi
push str.caption_
call edi
push esi
push dword [ebx + 4]
call fcn.0041b2a0
push esi
push 0x43f390
call edi
push esi
push dword [ebx + 4]
call fcn.0041b2a0
push esi
push str._nendlastfoot_n
call edi
add esp, 0x28
jmp 0x41b9ab
cmp word [ebp - 4], 2
jb 0x41b9ab
push esi
push str._bottomrule_nendfoot_n
call edi
push esi
push str._bottomrule_nendlastfoot_n
call edi
add esp, 0x10
mov eax, dword [ebx + 0x18]
xor ecx, ecx
mov dword [ebp + 8], ecx
mov dword [ebp - 0x10], eax
cmp dword [eax], ecx
je 0x41ba46
mov edi, edi
test ecx, ecx
je 0x41b9da
xor edx, edx
mov eax, ecx
div dword [ebx + 8]
test edx, edx
je 0x41b9da
push esi
push 0x43f3d8
call edi
add esp, 8
push esi
push str._raggedright
call edi
mov eax, dword [ebp - 0x10]
push esi
push dword [eax]
call fcn.0041b2a0
push esi
push 0x7d
call dword [sym.imp.MSVCR120.dll_fputc]
mov ecx, dword [ebp + 8]
xor edx, edx
inc ecx
add esp, 0x18
mov eax, ecx
mov dword [ebp + 8], ecx
div dword [ebx + 8]
test edx, edx
jne 0x41ba2b
push esi
push str.__tabularnewline_n
call edi
add esp, 8
cmp word [ebp - 4], 3
jne 0x41ba28
push esi
push str._hline_n
call edi
add esp, 8
mov ecx, dword [ebp + 8]
cmp byte [0x455cb8], 0
jne 0x41ba46
mov eax, dword [ebp - 0x10]
add eax, 4
mov dword [ebp - 0x10], eax
cmp dword [eax], 0
jne 0x41b9c0
mov eax, dword [ebx]
cmp byte [eax + 0x12], 0
je 0x41ba59
push esi
push str.endlongtable_n
call edi
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret