Function at 0x4e8e43
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10053f7e
mov eax, dword fs:[0]
push eax
mov eax, 0x202f4
call fcn.00517520
mov eax, dword [0x10062108]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov edi, edx
xor ebx, ebx
mov dword [ebp - 0x202b0], edi
mov dword [ebp - 0x202ac], ebx
mov eax, esi
imul eax, eax, 0x14
lea eax, [eax + edi + 4]
lea ecx, [ebp - 0x202ac]
push ecx
mov dword [ebp - 0x202b8], eax
push eax
mov eax, edi
mov dword [ebp - 4], ebx
call fcn.004e9a12
test al, al
jne 0x4e8edc
or dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x202ac]
cmp edi, ebx
je 0x4e8ebf
call fcn.004e127e
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005116e0
leave
ret
push 0x1ffff
lea eax, [ebp - 0x20217]
push ebx
push eax
mov byte [ebp - 0x20218], 0
call fcn.00511b80
and dword [ebp - 0x202a0], 0
lea eax, [edi + esi*4 + 0x624]
add esp, 0xc
and dword [ebp - 0x202b4], 0
mov dword [ebp - 0x202a8], 0x20000
lea ebx, [ebp - 0x20218]
mov dword [ebp - 0x202a4], eax
mov eax, dword [ebp - 0x202a8]
mov ecx, 0x20000
cmp eax, ecx
jl 0x4e8f34
mov eax, ecx
push 0
push eax
mov eax, dword [ebp - 0x202a4]
push ebx
push dword [eax]
call dword [0x1005525c]
test eax, eax
je 0x4e8fae
cmp eax, 0xffffffff
jne 0x4e8f70
call dword [0x10055228]
cmp eax, 0x2733
mov dword [ebp - 0x202b4], eax
jne 0x4e8fe8
push 0xa
call dword [0x10055010]
jmp 0x4e8fa1
add dword [ebp - 0x202a0], eax
sub dword [ebp - 0x202a8], eax
mov esi, dword [ebp - 0x202ac]
mov ecx, dword [esi + 0x20]
add ebx, eax
mov eax, dword [ebp - 0x202a0]
cdq
add eax, dword [esi + 0x1c]
adc ecx, edx
mov edx, dword [esi + 0x14]
cmp edx, eax
jne 0x4e8fa1
mov eax, dword [esi + 0x18]
cmp eax, ecx
je 0x4e8fb4
cmp dword [ebp - 0x202a8], 0
jg 0x4e8f23
mov esi, dword [ebp - 0x202ac]
cmp dword [ebp - 0x202a0], 0
lea eax, [ebp - 0x20218]
mov dword [ebp - 0x202a4], eax
jne 0x4e8ff9
cmp dword [ebp - 0x202b4], 0x2733
je 0x4e8ff9
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x4e8ebf
mov edi, esi
jmp 0x4e8eba
or dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x202ac]
test edi, edi
jmp 0x4e8eb8
mov eax, dword [esi + 0x14]
or eax, dword [esi + 0x18]
jne 0x4e932e
lea eax, [ebp - 0x20218]
push 0x10058698
push eax
call fcn.00512110
test eax, eax
pop ecx
pop ecx
jne 0x4e9022
or dword [ebp - 4], 0xffffffff
jmp 0x4e8fe1
mov edi, 0x1005866c
lea eax, [ebp - 0x20218]
push edi
push eax
call fcn.00512110
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
je 0x4e901c
mov byte [ebx], 0
lea eax, [ebp - 0x20218]
inc ebx
push eax
mov dword [ebp - 0x202a8], ebx
call fcn.005151e0
lea eax, [ebp - 0x20218]
mov dword [esp], 0x100586a0
push eax
call fcn.00512110
test eax, eax
pop ecx
pop ecx
je 0x4e922d
mov ebx, 0x100586a8
push ebx
push dword [ebp - 0x202a8]
call fcn.00512110
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x202a4], eax
je 0x4e9227
push ebx
call fcn.00512260
add dword [ebp - 0x202a4], eax
pop ecx
push dword [ebp - 0x202a4]
xor ebx, ebx
lea ecx, [ebp - 0x20250]
mov dword [ebp - 0x202b4], ebx
mov dword [ebp - 0x202b0], ebx
call fcn.004e07b7
push dword [ebp - 0x202a4]
lea ecx, [ebp - 0x20234]
mov byte [ebp - 4], 1
call fcn.004e07b7
lea eax, [ebp - 0x202b0]
push eax
lea eax, [ebp - 0x202b4]
push eax
lea ecx, [ebp - 0x20250]
mov byte [ebp - 4], 2
call fcn.0050df7b
cmp eax, 0xffffffff
pop ecx
pop ecx
jne 0x4e911d
push ebx
push 1
lea ecx, [ebp - 0x20234]
mov byte [ebp - 4], 1
call fcn.004e038c
mov byte [ebp - 4], bl
push ebx
push 1
lea ecx, [ebp - 0x20250]
call fcn.004e038c
jmp 0x4e901c
push edi
call fcn.00512260
pop ecx
push eax
push edi
lea ebx, [ebp - 0x20234]
call fcn.004ea521
xor ebx, ebx
cmp eax, 0xffffffff
jne 0x4e914f
push ebx
push 1
lea ecx, [ebp - 0x20234]
mov byte [ebp - 4], 1
call fcn.004e038c
mov byte [ebp - 4], bl
jmp 0x4e910a
push eax
push ebx
lea eax, [ebp - 0x20234]
push eax
lea esi, [ebp - 0x2026c]
call fcn.004ea3da
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x20234]
mov byte [ebp - 4], 3
call fcn.004e02fa
push ebx
push 1
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.004e038c
mov eax, dword [ebp - 0x202b4]
mov edi, dword [ebp - 0x202ac]
mov dword [edi + 0x34], eax
mov ax, word [ebp - 0x202b0]
mov esi, 0x800
push esi
mov word [edi + 0x38], ax
lea eax, [edi + 0x1e72]
push ebx
push eax
call fcn.00511b80
mov ecx, dword [ebp - 0x2024c]
add esp, 0xc
cmp dword [ebp - 0x20238], 0x10
jae 0x4e91c9
lea ecx, [ebp - 0x2024c]
cmp dword [ebp - 0x2021c], 0x10
mov eax, dword [ebp - 0x20230]
jae 0x4e91de
lea eax, [ebp - 0x20230]
push ecx
push eax
push 0x100584b8
lea eax, [edi + 0x1e72]
push esi
push eax
call fcn.00512216
add esp, 0x14
push ebx
push 1
lea ecx, [ebp - 0x20234]
mov byte [edi + 0x267b], bl
mov byte [ebp - 4], 1
call fcn.004e038c
push ebx
push 1
lea ecx, [ebp - 0x20250]
mov byte [ebp - 4], bl
call fcn.004e038c
or dword [ebp - 4], 0xffffffff
jmp 0x4e8eba
mov ebx, dword [ebp - 0x202a8]
lea eax, [ebp - 0x20218]
push 0x100586b4
push eax
call fcn.00512110
test eax, eax
pop ecx
pop ecx
jne 0x4e927d
lea eax, [ebp - 0x20218]
push 0x100586bc
push eax
call fcn.00512110
test eax, eax
pop ecx
pop ecx
jne 0x4e927d
mov eax, dword [ebp - 0x202a0]
push eax
mov dword [esi + 0x3e], eax
lea eax, [ebp - 0x20218]
push eax
lea eax, [esi + 0x42]
push eax
call fcn.005116f0
add esp, 0xc
jmp 0x4e901c
mov edi, 0x100586c4
push edi
push ebx
call fcn.00512110
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
jne 0x4e92d5
mov edi, 0x10057f88
push edi
push dword [ebp - 0x202a8]
call fcn.00512110
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
jne 0x4e92d5
push 0x100586d8
push dword [ebp - 0x202a8]
call fcn.00512110
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
jne 0x4e92d5
or dword [esi + 0x14], 0xffffffff
mov ebx, dword [ebp - 0x202a8]
mov dword [esi + 0x18], 0x7fffffff
jmp 0x4e92eb
push edi
call fcn.00512260
pop ecx
add ebx, eax
push ebx
call fcn.00512248
mov dword [esi + 0x18], edx
pop ecx
mov dword [esi + 0x14], eax
push 0x10057f80
push ebx
call fcn.00512110
test eax, eax
pop ecx
pop ecx
jne 0x4e9311
or ebx, 0xffffffff
or dword [ebp - 4], 0xffffffff
mov edi, esi
call fcn.004e127e
mov eax, ebx
jmp 0x4e8ec2
mov edi, dword [ebp - 0x202b0]
add eax, 4
lea ecx, [ebp - 0x20218]
sub ecx, eax
add dword [ebp - 0x202a0], ecx
mov dword [ebp - 0x202a4], eax
xor ebx, ebx
cmp dword [ebp - 0x202a0], ebx
je 0x4e92ff
mov eax, dword [esi + 8]
dec eax
jne 0x4e95c9
add edi, 0x50c
push edi
call dword [0x10055020]
mov eax, dword [esi + 0x1c]
or eax, dword [esi + 0x20]
jne 0x4e93ba
and word [ebp - 0x218], ax
push 0x206
push eax
lea eax, [ebp - 0x216]
push eax
call fcn.00511b80
add esp, 0xc
lea eax, [esi + 0x1842]
push eax
mov ebx, 0x104
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.00511a6b
add esp, 0xc
push 0x100586ec
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.005154fe
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x100586f8
push eax
call fcn.005159e5
pop ecx
pop ecx
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x4e93cd
push edi
call dword [0x1005501c]
jmp 0x4e92fc
push 0
push dword [esi + 0x20]
push dword [esi + 0x1c]
push eax
call fcn.005156f6
push dword [esi + 0x10]
push dword [ebp - 0x202a0]
push 1
push dword [ebp - 0x202a4]
call fcn.00514f94
add esp, 0x20
cmp eax, dword [ebp - 0x202a0]
jne 0x4e93c1
mov byte [ebp - 4], 0
mov ebx, dword [0x1005501c]
push edi
call ebx
mov eax, dword [ebp - 0x202a0]
cdq
add dword [esi + 0x1c], eax
push 0x1000380c
push dword [ebp - 0x202a0]
adc dword [esi + 0x20], edx
add dword [esi + 0x24], eax
push dword [ebp - 0x202b8]
adc dword [esi + 0x28], edx
call fcn.004f8341
xor ecx, ecx
mov edi, eax
call fcn.004f8390
mov eax, dword [esi + 0x1c]
cmp eax, dword [esi + 0x14]
jne 0x4e95c9
mov eax, dword [esi + 0x20]
cmp eax, dword [esi + 0x18]
jne 0x4e95c9
mov edi, dword [ebp - 0x202b0]
add edi, 0x50c
push edi
call dword [0x10055020]
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4e9481
push eax
call fcn.005158c3
pop ecx
push dword [esi + 0x10]
call fcn.00511d1b
and dword [esi + 0x10], 0
pop ecx
push edi
call ebx
lea eax, [esi + 0x1842]
push eax
lea eax, [ebp - 0x20288]
call fcn.004e7279
push 0x100586ec
lea eax, [ebp - 0x202fc]
mov byte [ebp - 4], 5
call fcn.004e7279
push eax
lea eax, [ebp - 0x20288]
push eax
lea eax, [ebp - 0x2026c]
push eax
mov byte [ebp - 4], 6
call fcn.004e7a14
add esp, 0xc
push 0
push 1
lea ecx, [ebp - 0x202fc]
mov byte [ebp - 4], 8
call fcn.004e75b8
cmp dword [ebp - 0x20270], 8
mov ecx, dword [ebp - 0x20284]
jae 0x4e94ed
lea ecx, [ebp - 0x20284]
cmp dword [ebp - 0x20254], 8
mov eax, dword [ebp - 0x20268]
jae 0x4e9502
lea eax, [ebp - 0x20268]
push ecx
push eax
call fcn.005154d0
push 0x14
lea ebx, [esi + 0x1e4a]
lea eax, [ebp - 0x202cc]
push ebx
push eax
call fcn.005116f0
mov edi, dword [ebp - 0x202b0]
add esp, 0x14
lea eax, [ebp - 0x202cc]
push eax
mov eax, edi
call fcn.004e9784
push 0x14
lea eax, [ebp - 0x2029c]
push 0
push eax
call fcn.00511b80
add esp, 0xc
push 0x14
lea eax, [ebp - 0x202e0]
push ebx
push eax
call fcn.005116f0
mov eax, dword [edi]
add esp, 0xc
lea ecx, [ebp - 0x2029c]
push ecx
lea ecx, [ebp - 0x202e0]
push ecx
mov ecx, edi
call dword [eax + 0x28]
test al, al
je 0x4e95a3
push 3
lea esi, [ebp - 0x2029c]
call fcn.004f7117
pop ecx
lea eax, [ebp - 0x20288]
push eax
call fcn.004f7535
mov ecx, eax
call fcn.004f75b8
mov eax, dword [ebp - 0x202ac]
mov byte [eax + 0x267a], 1
mov esi, eax
push 0
push 1
lea ecx, [ebp - 0x2026c]
mov byte [ebp - 4], 5
call fcn.004e75b8
push 0
push 1
lea ecx, [ebp - 0x20288]
mov byte [ebp - 4], 0
call fcn.004e75b8
mov ebx, dword [ebp - 0x202a4]
lea eax, [ebp - 0x20218]
sub ebx, eax
jmp 0x4e92ff