Function at 0x43e400
Capabilities:
Write file on windows

Disassembly:
push ebx
push edi
push esi
sub esp, 0x10
mov ax, word [0x48222e]
and eax, 0xc3b7
mov word [0x48222e], ax
mov eax, dword [0x482c00]
lea ecx, [eax - 1]
mov dword [0x482c00], ecx
add eax, 0x7dfccf45
xor eax, 0x2aa98d87
add dword [0x48566c], eax
cmp dword [0x4879a8], 0
jne 0x43e462
mov eax, dword [0x48580c]
add dword [0x484d48], 0xf6a9e379
call fcn.00440830
mov dword [0x4879a8], eax
mov eax, dword [0x4868dc]
and dword [0x48311c], eax
mov ebx, dword [esp + 0x20]
mov ax, word [0x480fb2]
or eax, 0x7c44
mov word [0x480fb2], ax
mov dword [esp + 4], 3
mov dword [esp], 0x1bc9
call fcn.00402be0
mov edi, eax
mov eax, dword [0x486724]
cmp eax, 0xff29724d
jl 0x43e4a5
add dword [0x4837d4], 0x547adaf8
jmp 0x43e4af
xor dword [0x4849f8], 0xb3ef8768
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00451bc0
mov esi, eax
mov eax, dword [0x485db0]
mov ecx, 0xc0017a4
sub ecx, eax
or ecx, 0x4b418eb7
mov eax, dword [0x4860f4]
add eax, 0x891f8a2c
cmp ecx, eax
jne 0x43e514
mov eax, dword [0x483464]
mov ecx, dword [0x48370c]
lea edx, [ecx - 1]
mov dword [0x48370c], edx
imul ecx, ecx, 0x251f49db
add ecx, eax
cmp ecx, 0x77863a6b
jg 0x43e527
mov ax, word [0x4812ee]
add eax, 0xffffd0e7
mov word [0x4812ee], ax
jmp 0x43e542
mov ax, word [0x481c5c]
and eax, 0x8bc4
mov word [0x481c5c], ax
jmp 0x43e542
mov eax, dword [0x485680]
lea ecx, [eax + 1]
mov dword [0x485680], ecx
mov ecx, 0xa38f83f0
sub ecx, eax
add dword [0x48666c], ecx
add dword [0x483200], 0x9381b01
mov ax, word [0x480bf2]
and eax, 0x7561
mov word [0x480bf2], ax
mov eax, dword [0x486cb4]
lea ecx, [eax - 1]
mov dword [0x486cb4], ecx
and eax, 0x73b57cb9
mov ecx, dword [0x485698]
imul ecx, eax
mov dword [0x485698], ecx
mov byte [edi], 0
mov byte [edi + 1], 0
mov byte [edi + 2], 0
mov byte [edi + 3], 0
mov byte [edi + 4], 0
mov byte [edi + 5], 0
mov byte [edi + 6], 0
mov eax, dword [0x485bd0]
lea ecx, [eax + 1]
mov dword [0x485bd0], ecx
mov dword [0x483c20], eax
mov dword [esp], edi
call fcn.0044dbb0
add dword [0x484e2c], 0xa31ab1ee
mov eax, dword [0x4866b4]
add eax, 0x4e38126c
or dword [0x485de8], eax
test esi, esi
jne 0x43e6e4
mov ax, word [0x481a4a]
add eax, 0x7af3
mov word [0x481a4a], ax
mov dword [esp], 0x436
call dword [0x4806c0]
sub esp, 4
mov eax, dword [0x4831b8]
lea ecx, [eax - 1]
mov dword [0x4831b8], ecx
add eax, 0x447528e
mov dword [0x4867ac], eax
mov dword [esp + 4], 3
mov dword [esp], 0x1bc9
call fcn.00402be0
mov edi, eax
mov word [0x481d90], 0xfdde
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00451bc0
mov esi, eax
mov ax, word [0x481056]
dec eax
mov word [0x481056], ax
add dword [0x483200], 0x9381b01
mov ax, word [0x480bf2]
and eax, 0x7561
mov word [0x480bf2], ax
mov eax, dword [0x486cb4]
lea ecx, [eax - 1]
mov dword [0x486cb4], ecx
and eax, 0x73b57cb9
mov ecx, dword [0x485698]
imul ecx, eax
mov dword [0x485698], ecx
mov byte [edi], 0
mov byte [edi + 1], 0
mov byte [edi + 2], 0
mov byte [edi + 3], 0
mov byte [edi + 4], 0
mov byte [edi + 5], 0
mov byte [edi + 6], 0
mov eax, dword [0x485bd0]
lea ecx, [eax + 1]
mov dword [0x485bd0], ecx
mov dword [0x483c20], eax
mov dword [esp], edi
call fcn.0044dbb0
add dword [0x484e2c], 0xa31ab1ee
mov eax, dword [0x485348]
mov ecx, dword [0x4857b8]
not ecx
or ecx, eax
mov ax, word [0x480854]
sub eax, ecx
mov word [0x480854], ax
mov eax, dword [0x483264]
lea ecx, [eax + 1]
mov dword [0x483264], ecx
mov ecx, dword [0x482e80]
imul ecx, eax
mov dword [0x482e80], ecx
test esi, esi
je 0x43e75f
add dword [0x482b10], 0x7f6ec76d
mov dword [esp + 0xc], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 4
mov dword [esp], 0x4879a8
call fcn.00451d73
mov eax, dword [0x485138]
mov ecx, dword [0x48377c]
lea edx, [ecx - 1]
mov dword [0x48377c], edx
mov edx, 0x30657924
sub edx, ecx
xor edx, eax
or dword [0x483b78], edx
mov dword [esp], esi
call fcn.00451e61
mov eax, dword [0x48666c]
mov eax, dword [0x4846e4]
cmp eax, 0x64138d5d
jg 0x43e777
xor dword [0x484428], 0x4fecbbfd
jmp 0x43e781
xor dword [0x482d24], 0x8086d05
add esp, 0x10
pop esi
pop edi
pop ebx
ret