Function at 0x439740
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ecx, 0x400
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x45c
mov byte [ebp - 0x421], 1
mov esi, dword [ebp + 8]
mov byte [ebp - 0x422], 0x20
mov eax, dword [0x873420]
mov byte [ebp - 0x435], 1
lea ebx, [ebp - 0x418]
mov dword [esp + 4], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.0047eb50
mov dword [esp], ebx
mov edx, 0x4ae0fc
mov dword [esp + 4], edx
call fcn.0047ec20
mov dword [ebp - 0x43c], eax
test eax, eax
je 0x439f1b
lea eax, [ebp - 0x41c]
mov edi, str._TITLE__s__TITLE__n
mov ebx, 1
mov dword [esp + 4], eax
lea eax, [ebp - 0x420]
mov dword [esp], eax
call fcn.00497400
mov eax, dword [ebp - 0x43c]
mov dword [esp], str._HTML__n
mov dword [esp + 0xc], eax
mov eax, 7
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov edx, dword [ebp - 0x43c]
mov eax, 7
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
mov dword [esp], str._HEAD__n
call sub.msvcrt.dll_fwrite
mov eax, 0x4ada40
mov dword [esp + 8], eax
mov eax, str._META_NAME_GENERATOR__Content_Sil__s___n
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x43c]
mov dword [esp], ecx
call sub.msvcrt.dll_fprintf
mov dword [esp + 8], esi
mov esi, 8
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x43c]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edx, dword [ebp - 0x43c]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp + 0xc], edx
mov dword [esp], str.__HEAD__n
call sub.msvcrt.dll_fwrite
mov ecx, dword [ebp - 0x43c]
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp], str._BODY_TEXT_FFFFFF__BGCOLOR_000000__
mov dword [esp + 0xc], ecx
mov ecx, 0x27
mov dword [esp + 8], ecx
call sub.msvcrt.dll_fwrite
movzx eax, byte [0x4a4a07]
mov dword [esp + 0x10], eax
movzx eax, byte [0x4a4a06]
mov dword [esp + 0xc], eax
movzx eax, byte [0x4a4a05]
mov dword [esp + 8], eax
mov eax, str._FONT_COLOR__02X_02X_02X___n_PRE__TT_
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x43c]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
xor edx, edx
xor eax, eax
cmp edx, dword [ebp - 0x41c]
mov dword [ebp - 0x434], eax
jge 0x439bb4
nop
lea esi, [esi]
xor edi, edi
cmp edi, dword [ebp - 0x420]
jge 0x439b86
nop
mov eax, dword [0x4a49e8]
lea edx, [ebp - 0x42c]
mov ecx, dword [ebp - 0x434]
movsx eax, word [eax + 0x468]
lea eax, [eax + ecx - 1]
mov dword [ebp - 0x444], eax
lea eax, [ebp - 0x428]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00497400
mov edx, dword [0x4c6378]
mov ecx, dword [ebp - 0x428]
mov esi, dword [ebp - 0x42c]
mov eax, dword [edx + 0x34]
sub ecx, 2
sub esi, 0xe
mov dword [ebp - 0x440], ecx
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x434]
mov eax, dword [eax + ecx*4]
movzx ecx, byte [eax + edi]
mov byte [ebp - 0x42e], cl
mov eax, dword [edx + 0x34]
mov edx, dword [ebp - 0x434]
mov eax, dword [eax + 8]
mov eax, dword [eax + edx*4]
movzx ebx, byte [eax + edi]
mov byte [ebp - 0x42d], bl
movzx eax, byte [0x4c5a92]
test al, al
setne dl
mov byte [ebp - 0x445], al
xor eax, eax
cmp cl, 0xff
sete al
test eax, edx
je 0x4399aa
inc bl
je 0x439d70
cmp word [0x8732a0], 0
jne 0x439a50
mov edx, edi
sub edx, 0xd
js 0x439a50
cmp edx, esi
jge 0x439a50
mov eax, dword [ebp - 0x434]
dec eax
js 0x439a50
cmp eax, dword [ebp - 0x440]
jge 0x439a50
cmp byte [ebp - 0x445], 0
je 0x439cb6
mov ecx, dword [0x4a49e8]
mov eax, edx
shr eax, 0x1f
lea eax, [edx + eax]
sar eax, 1
movsx edx, word [ecx + 0x46a]
lea edx, [eax + edx]
movzx eax, byte [ecx + 0x46c]
cmp dword [ebp - 0x444], eax
jae 0x439a21
movzx eax, byte [ecx + 0x46d]
cmp edx, eax
jb 0x439ef0
mov byte [ebp - 0x42e], 1
mov byte [ebp - 0x42d], 0x20
cmp byte [ebp - 0x42d], 0
jne 0x439a3f
mov byte [ebp - 0x42d], 0x20
movzx ecx, byte [ebp - 0x42e]
lea esi, [esi]
lea edi, [edi]
test cl, 0xf0
je 0x439a65
mov byte [ebp - 0x42e], 1
mov cl, 1
mov byte [ebp - 0x42d], 0x20
movzx eax, byte [ebp - 0x42d]
mov byte [ebp - 0x421], cl
lea ecx, [ebp - 0x422]
mov edx, edi
mov byte [ebp - 0x422], al
lea eax, [ebp - 0x421]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [ebp - 0x434]
call fcn.00439700
movzx ecx, byte [ebp - 0x421]
mov al, cl
mov dl, cl
shr al, 5
and dl, 0x1f
movzx eax, al
cmp byte [ebp - 0x435], cl
je 0x439b48
cmp byte [ebp - 0x435], 1
je 0x439cd0
dec cl
je 0x439e09
test eax, eax
je 0x439d85
dec eax
je 0x439dc8
movzx eax, byte [0x4a4a43]
movzx edx, dl
mov dword [esp + 0x1c], eax
movzx eax, byte [0x4a4a42]
mov dword [esp + 0x18], eax
movzx eax, byte [0x4a4a41]
mov dword [esp + 0x14], eax
movzx eax, byte [edx*4 + 0x4a4a03]
mov dword [esp + 0x10], eax
movzx eax, byte [edx*4 + 0x4a4a02]
mov dword [esp + 0xc], eax
movzx eax, byte [edx*4 + 0x4a4a01]
mov edx, str.__FONT__FONT_COLOR__02X_02X_02X__style_BACKGROUND_COLOR:__02X_02X_02X__
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x43c]
mov dword [esp], edx
call sub.msvcrt.dll_fprintf
movzx ecx, byte [ebp - 0x421]
mov byte [ebp - 0x435], cl
movsx eax, byte [ebp - 0x422]
cmp eax, 0x3c
je 0x439d40
jg 0x439c76
cmp eax, 0x26
je 0x439e36
mov edx, dword [ebp - 0x43c]
inc edi
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.msvcrt.dll_fputc
cmp edi, dword [ebp - 0x420]
jl 0x439900
mov ecx, dword [ebp - 0x43c]
mov dword [esp], 0xa
mov dword [esp + 4], ecx
call sub.msvcrt.dll_fputc
inc dword [ebp - 0x434]
mov eax, dword [ebp - 0x434]
cmp eax, dword [ebp - 0x41c]
jl 0x4398f0
cmp byte [ebp - 0x421], 1
je 0x439be5
mov edx, dword [ebp - 0x43c]
mov edi, 7
mov esi, 1
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp + 0xc], edx
mov dword [esp], str.__FONT_
call sub.msvcrt.dll_fwrite
mov ecx, dword [ebp - 0x43c]
mov ebx, 0xc
mov dword [esp + 8], ebx
mov dword [esp], str.__TT___PRE__n
mov dword [esp + 0xc], ecx
mov ecx, 1
mov dword [esp + 4], ecx
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x43c]
mov edx, 8
mov dword [esp + 8], edx
mov dword [esp], str.__BODY__n
mov dword [esp + 0xc], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
mov edx, dword [ebp - 0x43c]
mov eax, 8
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
mov dword [esp], str.__HTML__n
call sub.msvcrt.dll_fwrite
mov ecx, dword [ebp - 0x43c]
mov dword [esp], ecx
call fcn.0047ec70
add esp, 0x45c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, 0x3e
jne 0x439b67
mov edx, dword [ebp - 0x43c]
mov eax, 4
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
mov dword [esp], str.gt_
call sub.msvcrt.dll_fwrite
mov esi, esi
lea edi, [edi]
inc edi
jmp 0x439b7a
mov ecx, dword [0x4a49e8]
movsx eax, word [ecx + 0x46a]
lea edx, [eax + edi - 0xd]
jmp 0x439a03
test eax, eax
je 0x439e63
dec eax
je 0x439ea6
movzx eax, byte [0x4a4a43]
movzx edx, dl
mov dword [esp + 0x1c], eax
movzx eax, byte [0x4a4a42]
mov dword [esp + 0x18], eax
movzx eax, byte [0x4a4a41]
mov dword [esp + 0x14], eax
movzx eax, byte [edx*4 + 0x4a4a03]
mov dword [esp + 0x10], eax
movzx eax, byte [edx*4 + 0x4a4a02]
mov dword [esp + 0xc], eax
movzx eax, byte [edx*4 + 0x4a4a01]
mov dword [esp + 8], eax
mov eax, str._FONT_COLOR__02X_02X_02X__style_BACKGROUND_COLOR:__02X_02X_02X__
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x43c]
mov dword [esp], eax
jmp 0x439b36
mov eax, dword [ebp - 0x43c]
mov dword [esp], str.lt_
mov dword [esp + 0xc], eax
mov eax, 4
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
call sub.msvcrt.dll_fwrite
jmp 0x439cb0
mov byte [ebp - 0x42e], 1
mov cl, 1
mov byte [ebp - 0x42d], 0x20
jmp 0x439a50
movzx edx, dl
mov ebx, str.__FONT__FONT_COLOR__02X_02X_02X__
movzx eax, byte [edx*4 + 0x4a4a03]
mov dword [esp + 4], ebx
mov dword [esp + 0x10], eax
movzx eax, byte [edx*4 + 0x4a4a02]
mov dword [esp + 0xc], eax
movzx eax, byte [edx*4 + 0x4a4a01]
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0x43c]
mov dword [esp], ecx
call sub.msvcrt.dll_fprintf
jmp 0x439b3b
movzx eax, dl
movzx ecx, byte [eax*4 + 0x4a4a03]
movzx edx, byte [eax*4 + 0x4a4a02]
movzx eax, byte [eax*4 + 0x4a4a01]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], ecx
mov ecx, str.__FONT__FONT_COLOR__02X_02X_02X__style_BACKGROUND_COLOR:__02X_02X_02X__
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
jmp 0x439d30
mov edx, dword [ebp - 0x43c]
mov esi, 1
mov eax, 7
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp + 0xc], edx
mov dword [esp], str.__FONT_
call sub.msvcrt.dll_fwrite
jmp 0x439b3b
mov ecx, dword [ebp - 0x43c]
mov eax, 5
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov dword [esp], str.amp_
call sub.msvcrt.dll_fwrite
jmp 0x439cb0
movzx edx, dl
movzx eax, byte [edx*4 + 0x4a4a03]
mov dword [esp + 0x10], eax
movzx eax, byte [edx*4 + 0x4a4a02]
mov dword [esp + 0xc], eax
movzx eax, byte [edx*4 + 0x4a4a01]
mov dword [esp + 8], eax
mov eax, str._FONT_COLOR__02X_02X_02X__
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x43c]
mov dword [esp], edx
call sub.msvcrt.dll_fprintf
jmp 0x439b3b
movzx eax, dl
movzx ecx, byte [eax*4 + 0x4a4a03]
movzx edx, byte [eax*4 + 0x4a4a02]
movzx eax, byte [eax*4 + 0x4a4a01]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
mov dword [esp + 8], eax
mov eax, str._FONT_COLOR__02X_02X_02X__style_BACKGROUND_COLOR:__02X_02X_02X__
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x43c]
mov dword [esp], ecx
jmp 0x439b36
mov dword [esp + 4], edx
lea eax, [ebp - 0x42d]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x42e]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x444]
mov dword [esp], edx
call fcn.00405b30
jmp 0x439a2f
mov dword [esp + 4], ebx
mov dword [esp], 0x4af01b
call fcn.00495470
add esp, 0x45c
pop ebx
pop esi
pop edi
pop ebp
ret