Function at 0x4bc6fa
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.0x4bc6f0
mov eax, dword [edx]
inc eax
cmp eax, 0x15
jbe switch.0x004bc6f0
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
jmp dword [eax*4 + 0x540440]
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.004bcab0
push esi
push 0xe
push 1
push str.__interleave__n
call sub.msvcrt.dll_fwrite
add esp, 0x20
jmp case.default.0x4bc6f0
mov edx, dword [edx + 0x18]
mov eax, esi
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
jmp fcn.004bcab0
push esi
push 9
push 1
push str._empty___n
call sub.msvcrt.dll_fwrite
add esp, 0x10
jmp case.default.0x4bc6f0
push esi
push 0xe
push 1
push str._notAllowed___n
call sub.msvcrt.dll_fwrite
add esp, 0x10
jmp case.default.0x4bc6f0
push 0x1e77
push str.relaxng.c
push 0x53fbf1
mov ebx, dword [0x61e0b0]
push ebx
call dword [0x5190a8]
add esp, 0x10
jmp case.default.0x4bc6f0
push esi
push 8
push 1
push str._text___n
call sub.msvcrt.dll_fwrite
add esp, 0x10
jmp case.default.0x4bc6f0
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
je 0x4bc7ec
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
je 0x4bc7d9
push edx
push eax
push str._ns__s_
push esi
call sub.msvcrt.dll_fprintf
add esp, 0x10
push eax
mov ecx, dword [ebx + 8]
push ecx
push str.__s__name__n
push esi
call sub.msvcrt.dll_fprintf
add esp, 0x10
mov edx, dword [ebx + 0x24]
mov eax, esi
call fcn.004bcab0
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.004bcab0
push esi
push 0xb
push 1
push str.__element__n
call sub.msvcrt.dll_fwrite
add esp, 0x10
jmp case.default.0x4bc6f0
push 0x1e73
jmp 0x4bc761
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.004bcab0
push esi
push 8
push 1
push str.__list__n
call sub.msvcrt.dll_fwrite
add esp, 0x20
jmp case.default.0x4bc6f0
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.004bcab0
push esi
push 0xd
push 1
push str.__attribute__n
call sub.msvcrt.dll_fwrite
add esp, 0x20
jmp case.default.0x4bc6f0
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
je 0x4bc8aa
push edx
push eax
push str._name__s_
push esi
call sub.msvcrt.dll_fprintf
add esp, 0x10
push esi
push 2
push 1
push 0x5403eb
call sub.msvcrt.dll_fwrite
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.004bcab0
push esi
push 0xa
push 1
push str.__define__n
call sub.msvcrt.dll_fwrite
add esp, 0x20
jmp case.default.0x4bc6f0
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
je 0x4bc903
push ecx
push eax
push str._name__s_
push esi
call sub.msvcrt.dll_fprintf
add esp, 0x10
push esi
push 2
push 1
push 0x5403eb
call sub.msvcrt.dll_fwrite
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.004bcab0
push esi
push 7
push 1
push str.__ref__n
call sub.msvcrt.dll_fwrite
add esp, 0x20
jmp case.default.0x4bc6f0
push esi
push 0xd
push 1
push str._externalRef_
call sub.msvcrt.dll_fwrite
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.004bcab0
push esi
push 0xf
push 1
push str.__externalRef__n
call sub.msvcrt.dll_fwrite
add esp, 0x20
jmp case.default.0x4bc6f0
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
je 0x4bc98c
push edx
push eax
push str._name__s_
push esi
call sub.msvcrt.dll_fprintf
add esp, 0x10
push esi
push 2
push 1
push 0x5403eb
call sub.msvcrt.dll_fwrite
mov edx, dword [ebx + 0x18]
mov eax, esi
call fcn.004bcab0
push esi
push 0xd
push 1
push str.__parentRef__n
call sub.msvcrt.dll_fwrite
add esp, 0x20
jmp case.default.0x4bc6f0
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.004bcab0
push esi
push 0xc
push 1
push str.__optional__n
call sub.msvcrt.dll_fwrite
add esp, 0x20
jmp case.default.0x4bc6f0
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.004bcab0
push esi
push 0xe
push 1
push str.__zeroOrMore__n
call sub.msvcrt.dll_fwrite
add esp, 0x20
jmp case.default.0x4bc6f0
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.004bcab0
push esi
push 0xd
push 1
push str.__oneOrMore__n
call sub.msvcrt.dll_fwrite
add esp, 0x20
jmp case.default.0x4bc6f0
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.004bcab0
push esi
push 0xa
push 1
push str.__choice__n
call sub.msvcrt.dll_fwrite
add esp, 0x20
jmp case.default.0x4bc6f0
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.004bcab0
push esi
push 9
push 1
push str.__group__n
call sub.msvcrt.dll_fwrite
add esp, 0x20
jmp case.default.0x4bc6f0