Function at 0x439cc0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53f554
mov eax, dword fs:[0]
push eax
mov eax, 0x2250
call fcn.0050c350
mov eax, dword [0x5ac020]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x2244], ebx
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x2c]
push eax
mov ecx, edx
call fcn.004c20d0
test eax, eax
je 0x439fdc
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x439fdc
push eax
call fcn.004ffbb1
mov edi, eax
add esp, 4
test edi, edi
je 0x439fdc
cmp dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x2c]
push dword [ebp - 0x1c]
cmovae eax, dword [ebp - 0x2c]
push eax
push edi
call fcn.00502510
add esp, 0xc
push ebx
push 0x80
push 2
push ebx
push ebx
push 0x40000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x439fb2
lea ecx, [ebp - 0x223c]
call fcn.004c5380
mov byte [ebp - 4], 1
mov dword [ebp - method.HashAlgorithm.virtual_0], vtable.HashAlgorithm.0
mov byte [ebp - 4], 2
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x1c]
push edi
push 2
call fcn.004c3aa0
test eax, eax
je 0x439f8e
push 0
lea eax, [ebp - 0x2240]
mov dword [ebp - 0x2240], 0
push eax
push 0x24
lea eax, [ebp - 0x50]
mov dword [ebp - 0x30], 1
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x439f8e
cmp dword [ebp - 0x2240], 0x24
jne 0x439f8e
lea ecx, [ebp - 0xd4]
call fcn.0045c390
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xd4]
push 0x2717
push dword [0x5bdd08]
call fcn.0045c5c0
mov dword [ebp - 0x224c], eax
mov dword [ebp - 0x2248], 0
mov dword [ebp - method.HashAlgorithm.virtual_0], vtable.HashAlgorithm.0
mov byte [ebp - 4], 4
cmp dword [0x5bda54], 0
je 0x439f07
test eax, eax
je 0x439f07
lea ecx, [ebp - 0x223c]
call fcn.004c5830
push 2
call fcn.004c35d0
test eax, eax
je 0x439f07
push 0x583d50
call fcn.0052b620
add esp, 4
mov dword [ebp - 0x2254], eax
cmp eax, 0xffffffff
je 0x439f07
push 0x40
call fcn.004ffbb1
mov esi, eax
add esp, 4
test esi, esi
je 0x439f07
push esi
push 0x20
push dword [ebp - 0x224c]
push 2
call fcn.004c3be0
lea eax, [ebp - 0x2234]
push eax
push 0x20
push dword [ebp - 0x224c]
push 2
call fcn.004c3850
lea eax, [ebp - 0x221c]
push eax
push 0
push 0x20
lea eax, [esi + 0x20]
push eax
push esi
push dword [ebp - 0x2254]
call fcn.0052b8f0
add esp, 0x18
test eax, eax
jne 0x439ee6
mov dword [ebp - 0x2224], 3
mov dword [ebp - 0x2248], 1
push 0x20
push esi
call fcn.0051b090
push 0x20
push esi
call fcn.0051b090
push 0x20
push esi
call fcn.0051b090
push esi
call fcn.0051d3d0
add esp, 0x1c
mov byte [ebp - 4], 3
cmp dword [ebp - 0x2248], 0
mov dword [ebp - method.HashAlgorithm.virtual_0], vtable.HashAlgorithm.0
je 0x439f7f
push 0
push 0
push edi
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x223c]
push edi
call fcn.004c5880
test eax, eax
je 0x439f7f
mov eax, dword [ebp - 0x1c]
xor esi, esi
test eax, eax
je 0x439f72
nop
push 0
lea ecx, [ebp - 0x2240]
mov dword [ebp - 0x2240], 0
push ecx
sub eax, esi
push eax
lea eax, [esi + edi]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
mov eax, dword [ebp - 0x1c]
je 0x439f72
add esi, dword [ebp - 0x2240]
cmp esi, eax
jb 0x439f40
xor ecx, ecx
cmp esi, eax
sete cl
mov dword [ebp - 0x2244], ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd4]
call fcn.0045c480
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 1
mov dword [ebp - method.HashAlgorithm.virtual_0], vtable.HashAlgorithm.0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x223c]
call fcn.004c5440
push dword [ebp - 0x1c]
push edi
call fcn.0051b090
push dword [ebp - 0x1c]
push edi
call fcn.0051b090
push dword [ebp - 0x1c]
push edi
call fcn.0051b090
push edi
call fcn.00500843
mov ebx, dword [ebp - 0x2244]
add esp, 0x1c
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x18], 0x10
jb 0x439ff4
push dword [ebp - 0x2c]
call fcn.0051d3d0
add esp, 4
mov dword [ebp - 0x18], 0xf
mov eax, ebx
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004ffcef
mov esp, ebp
pop ebp
ret