Function at 0x406a70
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5c
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x3c]
lea ecx, [eax + 0x10]
mov eax, dword [ebp - 0x3c]
lea ebx, [eax + 0xc]
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x10]
cmp edx, eax
jl 0x406a9c
mov eax, ebx
jmp 0x406a9e
mov eax, ecx
mov ecx, dword [eax]
mov edx, 0x57619f1
mov eax, ecx
imul edx
sar edx, 5
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x40]
fstp dword [ebp - 0x30]
mov dword [esp + 4], 0x46021c
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._fopen
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x1c
mov dword [esp + 4], 1
mov dword [esp], str.__DOCTYPE_html__html__body__n
call sym._fwrite
mov dword [ebp - 0x1c], 0
jmp 0x406ec1
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x40]
fdiv dword [ebp - 0x30]
fnstcw word [ebp - 0x4a]
movzx eax, word [ebp - 0x4a]
mov ah, 0xc
mov word [ebp - 0x4c], ax
fldcw word [ebp - 0x4c]
fistp dword [ebp - 0x40]
fldcw word [ebp - 0x4a]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x40]
fdiv dword [ebp - 0x30]
fldcw word [ebp - 0x4c]
fistp dword [ebp - 0x40]
fldcw word [ebp - 0x4a]
mov eax, dword [ebp - 0x40]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], str._svg_xmlns_http:__www.w3.org_2000_svg__version_1.1__stylewidth:_ipx_height:_ipx__n
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call sym._fprintf
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xb8
mov dword [esp + 4], 1
mov dword [esp], str._marker_idMidMarker_viewBox0_0_10_10_refX5_refY5_markerUnitsstrokeWidth_markerWidth10_markerHeight10_strokelightblue_stroke_width2_fillnone_orientauto_
call sym._fwrite
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x26
mov dword [esp + 4], 1
mov dword [esp], str._path_dM_0_0_L_10_5_M_0_10_L_10_5__
call sym._fwrite
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 9
mov dword [esp + 4], 1
mov dword [esp], str.__marker_
call sym._fwrite
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x48
mov dword [esp + 4], 1
mov dword [esp], str._g_fill_ruleevenodd_style_fill:_gray__stroke:black_stroke_width:1___n
call sym._fwrite
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x26
mov dword [esp + 4], 1
mov dword [esp], str._path_marker_midurl_MidMarker__d_
call sym._fwrite
mov dword [ebp - 0x20], 0
jmp 0x406d0e
mov ecx, dword [ebp - 0x20]
mov eax, ecx
add eax, eax
add eax, ecx
shl eax, 2
lea esi, [edx + eax]
mov dword [ebp - 0x24], 0
jmp 0x406cd2
cmp dword [ebp - 0x24], 0
jne 0x406c52
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov dword [esp], 0x4d
call sym._fputc
jmp 0x406c65
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov dword [esp], 0x4c
call sym._fputc
mov eax, dword [esi]
mov edx, dword [ebp - 0x24]
shl edx, 4
lea edi, [eax + edx]
mov eax, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x1c]
mov ebx, ecx
sar ebx, 0x1f
sub eax, ecx
sbb edx, ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
fild qword [ebp - 0x48]
fdiv dword [ebp - 0x30]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x18]
mov ebx, ecx
sar ebx, 0x1f
sub eax, ecx
sbb edx, ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
fild qword [ebp - 0x48]
fdiv dword [ebp - 0x30]
fxch st(1)
fstp qword [esp + 0x10]
fstp qword [esp + 8]
mov dword [esp + 4], 0x4603f7
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call sym._fprintf
add dword [ebp - 0x24], 1
mov eax, dword [esi]
mov edx, dword [esi + 4]
sub edx, eax
mov eax, edx
sar eax, 4
cmp dword [ebp - 0x24], eax
jb 0x406c37
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 1
mov dword [esp], 0x4603fe
call sym._fwrite
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
shl edx, 6
mov dword [ebp - 0x50], edx
add eax, edx
mov edx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov ecx, eax
mov eax, edx
sub ecx, eax
mov eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp dword [ebp - 0x20], eax
jb 0x406c1c
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 3
mov dword [esp + 4], 1
mov dword [esp], 0x460401
call sym._fwrite
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 5
mov dword [esp + 4], 1
mov dword [esp], str.__g__n
call sym._fwrite
mov dword [ebp - 0x28], 0
jmp 0x406e72
mov ecx, dword [ebp - 0x28]
mov eax, ecx
add eax, eax
add eax, ecx
shl eax, 2
lea edi, [edx + eax]
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x2f
mov dword [esp + 4], 1
mov dword [esp], str._polyline_marker_midurl_MidMarker__points_
call sym._fwrite
mov dword [ebp - 0x2c], 0
jmp 0x406e36
mov edx, dword [ebp - 0x2c]
shl edx, 4
lea esi, [eax + edx]
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x1c]
mov ebx, ecx
sar ebx, 0x1f
sub eax, ecx
sbb edx, ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
fild qword [ebp - 0x48]
fdiv dword [ebp - 0x30]
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0x18]
mov ebx, ecx
sar ebx, 0x1f
sub eax, ecx
sbb edx, ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
fild qword [ebp - 0x48]
fdiv dword [ebp - 0x30]
fxch st(1)
fstp qword [esp + 0x10]
fstp qword [esp + 8]
mov dword [esp + 4], 0x4603f7
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call sym._fprintf
add dword [ebp - 0x2c], 1
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov ecx, edx
mov edx, eax
sub ecx, edx
mov edx, ecx
sar edx, 4
cmp dword [ebp - 0x2c], edx
jb 0x406dcb
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x33
mov dword [esp + 4], 1
mov dword [esp], str.__style_fill:_none__stroke:red_stroke_width:1_____n
call sym._fwrite
add dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
add eax, dword [ebp - 0x50]
mov edx, dword [eax + 0x34]
mov eax, dword [eax + 0x38]
mov ecx, eax
mov eax, edx
sub ecx, eax
mov eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp dword [ebp - 0x28], eax
jb 0x406d90
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 7
mov dword [esp + 4], 1
mov dword [esp], 0x460470
call sym._fwrite
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, ecx
sub edx, eax
mov eax, edx
sar eax, 6
cmp dword [ebp - 0x1c], eax
jb 0x406b03
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xe
mov dword [esp + 4], 1
mov dword [esp], 0x460478
call sym._fwrite
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call sym._fclose
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret 4