Function at 0x435300
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x619ab7
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
push ebx
push esi
push edi
mov eax, dword [0x69cffc]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x1c], 0
call fcn.00404500
push 0x66ecac
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x40]
call fcn.00404520
mov dword [ebp - 0x1c], 1
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x18]
push 0x6aa3cc
push eax
call fcn.004046d0
add esp, 0xc
mov byte [ebp - 4], 2
or edi, 0xffffffff
mov edx, dword [ebp - 0x24]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43538e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebx + 8], 0
jle 0x4356df
lea eax, [ebp - 0x48]
push eax
call fcn.005ef5a2
mov edx, dword [ebp - 0x44]
add esp, 4
test edx, edx
jl 0x4353b4
mov ecx, dword [ebp - 0x48]
jg 0x4353c2
test ecx, ecx
jne 0x4353c2
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebx + 8]
lea eax, [esi - 1]
test eax, eax
js 0x435732
cmp eax, esi
jge 0x435732
imul eax, eax, 0x3a8
add eax, dword [ebx + 4]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov ecx, dword [ebp - 0x18]
cmp dword [ecx - 4], 1
jle 0x4353fe
push dword [ecx - 0xc]
lea ecx, [ebp - 0x18]
call fcn.004030b0
mov ecx, dword [ebp - 0x18]
call fcn.004043c0
imul esi, dword [0x69dc80], 0x3a8
mov dword [ebp - 0x44], esi
test esi, esi
jle 0x4356df
push esi
call fcn.00447f05
add esp, 4
mov dword [ebp - 0x20], eax
call fcn.0044a657
mov ecx, eax
test ecx, ecx
je 0x435714
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov eax, 0x66eae8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x14]
test eax, 0xffff0000
jne 0x43545c
movzx eax, ax
push eax
call fcn.00402c80
jmp 0x435468
push 0
push 0x66eae8
call fcn.00402df0
push esi
push dword [0x69dc7c]
push dword [ebp - 0x20]
call fcn.005e86c0
add esp, 0xc
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x435493
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
test ecx, ecx
jne 0x4354a9
call fcn.0044a657
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov ecx, eax
test ecx, ecx
je 0x43571e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], 3
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
push 1
push 0x66ecf8
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00404650
add esp, 0x14
mov byte [ebp - 4], 6
mov esi, dword [ebp - 0x28]
mov ecx, dword [esi - 0x10]
lea eax, [esi - 0x10]
mov dword [ebp - 0x3c], eax
test ecx, ecx
je 0x4354f4
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
test ecx, ecx
jne 0x43550a
call fcn.0044a657
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov ecx, eax
test ecx, ecx
je 0x435728
mov eax, dword [ecx]
call dword [eax + 0xc]
push 9
push 0x66fbd4
push dword [esi - 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push esi
push eax
call fcn.00404650
mov eax, dword [ebp - 0x2c]
add esp, 0x14
mov esi, dword [ebp - 0x14]
lea edx, [eax - 0x10]
lea ecx, [esi - 0x10]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x34], ecx
cmp edx, ecx
je 0x435597
cmp dword [ecx + 0xc], 0
jl 0x435585
mov esi, dword [ebp - 0x34]
mov ecx, dword [edx]
cmp ecx, dword [esi]
jne 0x435585
push edx
call fcn.004027b0
add esp, 4
mov dword [ebp - 0x34], eax
mov ecx, edi
lea edx, [esi + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x43557d
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x34]
lea esi, [eax + 0x10]
mov dword [ebp - 0x14], esi
jmp 0x435594
push dword [eax - 0xc]
lea ecx, [ebp - 0x14]
push eax
call fcn.00402df0
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], 3
mov eax, edi
mov byte [ebp - 4], 5
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4355b6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
mov eax, edi
mov edx, dword [ebp - 0x3c]
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4355d1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x66ecf0
push esi
call fcn.005f219b
add esp, 8
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x4355ed
xor bl, bl
jmp 0x4356b7
push eax
push dword [ebp - 0x44]
push 1
push dword [ebp - 0x20]
call fcn.005f2082
push dword [ebp - 0x3c]
mov edi, eax
call fcn.005f1ddf
add esp, 0x14
test edi, edi
setne byte [ebp - 0xd]
test edi, edi
je 0x4356b1
mov eax, dword [ebx + 8]
cmp eax, 1
jl 0x4356b1
lea edi, [eax - 1]
cmp edi, eax
jg 0x435732
mov ecx, dword [ebx + 4]
imul eax, edi, 0x3a8
add eax, ecx
test ecx, ecx
jne 0x435653
call fcn.005ef397
mov dword [eax], 0x16
call fcn.005ef2bd
mov eax, 0x16
jmp 0x435668
test eax, eax
je 0x43563c
push 0x3a8
push eax
push ecx
call fcn.005e86c0
add esp, 0xc
xor eax, eax
push eax
call fcn.00402bf0
sub dword [ebx + 8], edi
lea eax, [ebp - 0x48]
add esp, 4
push eax
call fcn.005ef5a2
mov edx, dword [ebp - 0x44]
add esp, 4
test edx, edx
jl 0x435690
mov ecx, dword [ebp - 0x48]
jg 0x43569e
test ecx, ecx
jne 0x43569e
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
cmp dword [ebx + 8], 0
jle 0x435732
mov eax, dword [ebx + 4]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov bl, byte [ebp - 0xd]
or edi, 0xffffffff
push dword [ebp - 0x20]
call fcn.00447f00
add esp, 4
mov byte [ebp - 4], 2
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4356e1
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4356e1
xor bl, bl
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], edi
dec edi
test edi, edi
jg 0x435700
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00403270
push 0x80004005
call fcn.00403270
push 0x80004005
call fcn.00403270
call fcn.0044a186
int3