Function at 0x471e30
Capabilities:
Write file on windows

Disassembly:
push ebp
test edx, edx
mov ebp, esp
push esi
mov esi, eax
push ebx
mov ebx, edx
je case.default.0x471e45
mov eax, dword [edx]
inc eax
cmp eax, 0x15
ja case.default.0x471e45
jmp dword [eax*4 + 0x74b94c]
push esi
push 7
push 1
push str._list__n
call sub.msvcrt.dll_fwrite
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.00471e00
push esi
push 8
push 1
push str.__list__n
nop
call sub.msvcrt.dll_fwrite
add esp, 0x20
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
push 0x1e77
push str.C:_BlitzMax_mod_bah.mod_libxml.mod_src_relaxng.c
push 0x749ec5
mov ecx, dword [0x78d288]
push ecx
call dword [0x69a2a8]
add esp, 0x10
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
mov edx, dword [edx + 0x18]
mov eax, esi
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
jmp fcn.00471e00
push esi
push 9
push 1
push str._empty___n
call sub.msvcrt.dll_fwrite
add esp, 0x10
jmp 0x471e9e
push esi
push 0xe
push 1
push str._notAllowed___n
call sub.msvcrt.dll_fwrite
jmp 0x471ec4
push esi
push 8
push 1
push str._text___n
call sub.msvcrt.dll_fwrite
jmp 0x471ec4
push esi
push 0xa
push 1
push str._element__n
call sub.msvcrt.dll_fwrite
mov ecx, dword [ebx + 8]
add esp, 0x10
test ecx, ecx
jne 0x472169
mov edx, dword [ebx + 0x24]
mov eax, esi
call fcn.00471e00
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.00471e00
push esi
push 0xb
push 1
push str.__element__n
call sub.msvcrt.dll_fwrite
jmp 0x471ec4
push 0x1e73
jmp 0x471e84
push esi
push 0xc
push 1
push str._attribute__n
call sub.msvcrt.dll_fwrite
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.00471e00
push esi
push 0xd
push 1
push str.__attribute__n
jmp 0x471e70
push esi
push 7
push 1
push str._define
call sub.msvcrt.dll_fwrite
mov eax, dword [ebx + 8]
add esp, 0x10
test eax, eax
jne 0x47219a
push esi
push 2
push 1
push 0x74b83c
call sub.msvcrt.dll_fwrite
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.00471e00
push esi
push 0xa
push 1
push str.__define__n
jmp 0x471e70
push esi
push 4
push 1
push str._ref
call sub.msvcrt.dll_fwrite
mov eax, dword [ebx + 8]
add esp, 0x10
test eax, eax
jne 0x472142
push esi
push 2
push 1
push 0x74b83c
call sub.msvcrt.dll_fwrite
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.00471e00
push esi
push 7
push 1
push str.__ref__n
jmp 0x471e70
push esi
push 0xd
push 1
push str._externalRef_
call sub.msvcrt.dll_fwrite
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.00471e00
push esi
push 0xf
push 1
push str.__externalRef__n
jmp 0x471e70
push esi
push 0xc
push 1
push str._oneOrMore__n
call sub.msvcrt.dll_fwrite
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.00471e00
push esi
push 0xd
push 1
push str.__oneOrMore__n
jmp 0x471e70
push esi
push 9
push 1
push str._choice__n
call sub.msvcrt.dll_fwrite
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.00471e00
push esi
push 0xa
push 1
push str.__choice__n
jmp 0x471e70
push esi
push 8
push 1
push str._group__n
call sub.msvcrt.dll_fwrite
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.00471e00
push esi
push 9
push 1
push str.__group__n
jmp 0x471e70
push esi
push 0xd
push 1
push str._interleave__n
call sub.msvcrt.dll_fwrite
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.00471e00
push esi
push 0xe
push 1
push str.__interleave__n
jmp 0x471e70
push esi
push 0xb
push 1
push str._optional__n
call sub.msvcrt.dll_fwrite
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.00471e00
push esi
push 0xc
push 1
push str.__optional__n
jmp 0x471e70
push esi
push 0xd
push 1
push str._zeroOrMore__n
call sub.msvcrt.dll_fwrite
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.00471e00
push esi
push 0xe
push 1
push str.__zeroOrMore__n
jmp 0x471e70
push esi
push 0xa
push 1
push str._parentRef
call sub.msvcrt.dll_fwrite
mov eax, dword [ebx + 8]
add esp, 0x10
test eax, eax
jne 0x472157
push esi
push 2
push 1
push 0x74b83c
call sub.msvcrt.dll_fwrite
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.00471e00
push esi
push 0xd
push 1
push str.__parentRef__n
jmp 0x471e70
push ecx
push eax
push str._name__s_
push esi
call sub.msvcrt.dll_fprintf
add esp, 0x10
jmp 0x471fc1
push edx
push eax
push str._name__s_
push esi
call sub.msvcrt.dll_fprintf
add esp, 0x10
jmp 0x47211a
push esi
push 5
push 1
push str._name
call sub.msvcrt.dll_fwrite
mov eax, dword [ebx + 0xc]
add esp, 0x10
test eax, eax
jne 0x4721af
push eax
mov ecx, dword [ebx + 8]
push ecx
push str.__s__name__n
push esi
call sub.msvcrt.dll_fprintf
add esp, 0x10
jmp 0x471f08
push edx
push eax
push str._name__s_
push esi
call sub.msvcrt.dll_fprintf
add esp, 0x10
jmp 0x471f7c
push edx
push eax
push str._ns__s_
push esi
call sub.msvcrt.dll_fprintf
add esp, 0x10
jmp 0x472182