Function at 0x4773e0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4df19d
mov eax, dword fs:[0]
push eax
mov eax, 0x22c0
call fcn.004a8e60
mov eax, dword [0x5203c4]
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 eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x2278], eax
add eax, 0x20
push eax
mov dword [ebp - 0x22b4], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 0x22b0], 1
push 0x2002
lea eax, [ebp - 0x2214]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.004ad7b0
add esp, 0xc
lea eax, [ebp + 0x14]
push eax
push 0
push dword [ebp + 0x10]
lea eax, [ebp - 0x2214]
push 0xfff
push eax
call fcn.00413f90
mov ecx, dword [eax]
push dword [eax + 4]
or ecx, 1
push ecx
call fcn.004b576f
add esp, 0x1c
test eax, eax
js 0x47748a
cmp eax, 0xfff
ja 0x47748a
jne 0x477493
xor eax, eax
mov word [ebp - 0x216], ax
push 0
call fcn.004b7246
mov dword [ebp - 0x22ac], eax
lea eax, [ebp - 0x22ac]
push eax
lea eax, [ebp - 0x2250]
mov dword [ebp - 0x22a8], edx
push eax
call fcn.004b723b
add esp, 0xc
test eax, eax
jne 0x4778e1
lea eax, [ebp - 0x2250]
push eax
push str._Y__m__d__H:_M:_S
lea eax, [ebp - 0x110]
push 0x80
push eax
call fcn.004b6f09
add esp, 0x10
test eax, eax
jne 0x4774ef
mov word [ebp - 0x110], ax
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x2290]
call fcn.00475420
lea eax, [ebp - 0x22ac]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x2274]
push eax
call fcn.004b723b
add esp, 8
test eax, eax
jne 0x4778eb
lea eax, [ebp - 0x2274]
push eax
push 0x4e682c
lea eax, [ebp - 0x210]
push 0x80
push eax
call fcn.004b6f09
add esp, 0x10
test eax, eax
jne 0x47754e
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x228c]
call fcn.00475420
mov byte [ebp - 4], 4
call fcn.00476b10
mov ecx, eax
test ecx, ecx
je 0x4778f5
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2284], eax
lea eax, [ebp - 0x2214]
mov byte [ebp - 4], 5
push eax
push esi
push dword [ebp - 0x2290]
lea eax, [ebp - 0x2284]
push str._s___s___s_r_n
push eax
call fcn.00476950
mov esi, dword [ebp - 0x2284]
lea eax, [ebp - 0x22a0]
push esi
push eax
call fcn.0048a620
add esp, 0x1c
mov edx, dword [eax]
mov ecx, edx
mov dword [ebp - 0x222c], 0
mov byte [ebp - 4], 6
mov dword [ebp - 0x221c], 0
mov dword [ebp - 0x2218], 0xf
lea edi, [ecx + 1]
mov byte [ebp - 0x222c], 0
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4775f0
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x222c]
call fcn.00413da0
mov edx, dword [ebp - 0x22a0]
or eax, 0xffffffff
mov byte [ebp - 4], 8
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x477628
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x2218]
lea edx, [ebp - 0x222c]
mov ecx, dword [ebp - 0x222c]
cmp edi, 0x10
jb 0x477641
mov edx, ecx
add edx, dword [ebp - 0x221c]
lea eax, [ebp - 0x222c]
mov dword [ebp - 0x2280], edx
mov dword [ebp - 0x2288], eax
cmp edi, 0x10
jb 0x477666
mov eax, ecx
mov dword [ebp - 0x2288], ecx
xor ebx, ebx
mov dword [ebp - 0x229c], 0
mov ecx, edx
mov dword [ebp - 0x2298], 0
sub ecx, eax
mov dword [ebp - 0x2294], ebx
mov dword [ebp - 0x22a4], ecx
mov edi, ebx
mov dword [ebp - 0x227c], ebx
je 0x4776e6
cmp ecx, 0x7fffffff
ja 0x4778ff
push ecx
lea ecx, [ebp - 0x229c]
call fcn.004780b0
push dword [ebp - 0x22a4]
mov ebx, dword [ebp - 0x2288]
mov edi, dword [ebp - 0x229c]
push ebx
push edi
call fcn.004ad230
mov eax, edi
add esp, 0xc
sub eax, ebx
mov ebx, dword [ebp - 0x2294]
add eax, dword [ebp - 0x2280]
mov dword [ebp - 0x227c], eax
mov dword [ebp - 0x2298], eax
push str.6F5A289C58064c01A1D158C3E0B033A0
lea ecx, [ebp - 0x22cc]
mov byte [ebp - 4], 9
call fcn.004754d0
mov ecx, dword [ebp - 0x227c]
sub ecx, edi
mov byte [ebp - 4], 0xa
push 1
push ecx
mov dword [ebp - 0x227c], ecx
mov ecx, eax
push edi
call fcn.004766e0
lea ecx, [ebp - 0x22cc]
mov byte [ebp - 4], 9
call fcn.00475e00
mov eax, dword [ebp - 0x2278]
mov ecx, dword [eax + 0x1c]
cmp ecx, 0xffffffff
je 0x47775c
push 0
lea eax, [ebp - 0x2280]
mov dword [ebp - 0x2280], 0
push eax
mov eax, dword [ebp - 0x227c]
push eax
push edi
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebp - 0x2278]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x477904
mov ecx, dword [ebp - 0x228c]
lea ecx, [ecx]
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x477796
test dx, dx
je 0x477792
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x477796
add ecx, 4
add eax, 4
test dx, dx
jne 0x477770
xor eax, eax
jmp 0x47779b
sbb eax, eax
or eax, 1
test eax, eax
je 0x4777d0
mov eax, dword [ebp - 0x2278]
mov eax, dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x4777c3
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x2278]
mov dword [eax + 0x1c], 0
jmp 0x4777c9
mov eax, dword [ebp - 0x2278]
mov ecx, eax
call fcn.00476c40
mov byte [ebp - 4], 8
test edi, edi
je 0x477802
sub ebx, edi
cmp ebx, 0x1000
jb 0x4777f8
mov ecx, dword [edi - 4]
add ebx, 0x23
sub edi, ecx
lea eax, [edi - 4]
cmp eax, 0x1f
ja 0x47790e
mov edi, ecx
push ebx
push edi
call fcn.004a8c37
add esp, 8
mov edx, dword [ebp - 0x2218]
mov byte [ebp - 4], 5
cmp edx, 0x10
jb 0x477840
mov ecx, dword [ebp - 0x222c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x477836
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47790e
push edx
push ecx
call fcn.004a8c37
add esp, 8
or ebx, 0xffffffff
mov dword [ebp - 0x221c], 0
mov dword [ebp - 0x2218], 0xf
add esi, 0xfffffff0
mov byte [ebp - 0x222c], 0
mov eax, ebx
mov byte [ebp - 4], 4
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x477879
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x228c]
mov eax, ebx
mov byte [ebp - 4], 2
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47789a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2290]
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x4778b9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x22b4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
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.004a8e4e
mov esp, ebp
pop ebp
ret
push 0x80070057
call fcn.00476460
push 0x80070057
call fcn.00476460
push 0x80004005
call fcn.00476460
call fcn.0040b770
push 0x80004005
call fcn.00476460
call fcn.004b040f
int3