Function at 0x410140
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42230b
mov eax, dword fs:[0]
push eax
sub esp, 0x944
mov eax, dword [0x42a014]
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 dword [ebp - 0x8bc], edx
mov dword [ebp - 0x924], ecx
mov dword [ebp - 0x860], 0
mov dword [ebp - 0x85c], 0
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x850], 0
mov dword [ebp - 0x948], 0
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x94c], 0
mov dword [ebp - 0x864], 0
lea ecx, [ebp - 0x848]
call fcn.00409a30
mov dword [ebp - 4], 1
push 0
lea ecx, [ebp - 0x848]
call fcn.00409d70
mov byte [ebp - 4], 0
mov dword [ebp - 0x854], 0
mov dword [ebp - 0x82c], 0
mov byte [ebp - 0x849], 1
cmp dword [ebp + 0x18], 0
jbe 0x410232
mov byte [ebp - 0x855], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x848]
call fcn.00409ca0
mov al, byte [ebp - 0x855]
jmp 0x4109d5
lea eax, [ebp - 0x82c]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x14]
push edx
movzx eax, byte [ebp + 0xc]
push eax
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x8bc]
call fcn.0040fc50
mov ecx, dword [0x42b500]
mov dword [ebp - 0x8d0], ecx
push 0
push 0
push 0
push 0
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp - 0x8d0]
mov dword [ebp - 0x870], eax
mov ecx, dword [ebp - 0x870]
call dword [0x42312c]
call dword [ebp - 0x870]
mov dword [ebp - 0x860], eax
cmp dword [ebp - 0x860], 0
jne 0x4102bd
mov byte [ebp - 0x856], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x848]
call fcn.00409ca0
mov al, byte [ebp - 0x856]
jmp 0x4109d5
mov dword [ebp - 0x850], 0x80000000
movzx ecx, byte [ebp + 0xc]
test ecx, ecx
je 0x410304
mov edx, dword [ebp - 0x850]
or edx, 0x800000
mov dword [ebp - 0x850], edx
mov eax, dword [ebp - 0x850]
or eax, 0x2000
mov dword [ebp - 0x850], eax
mov ecx, dword [ebp - 0x850]
or ecx, 0x1000
mov dword [ebp - 0x850], ecx
mov edx, dword [0x42b514]
mov dword [ebp - 0x928], edx
push 0
mov eax, dword [ebp - 0x850]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x924]
push ecx
mov edx, dword [ebp - 0x860]
push edx
mov eax, dword [ebp - 0x928]
mov dword [ebp - 0x874], eax
mov ecx, dword [ebp - 0x874]
call dword [0x42312c]
call dword [ebp - 0x874]
mov dword [ebp - 0x85c], eax
cmp dword [ebp - 0x85c], 0
jne 0x410364
mov byte [ebp - 0x849], 0
jmp 0x41093d
mov ecx, dword [0x42b4e8]
mov dword [ebp - 0x8a4], ecx
mov dword [ebp - 0x8cc], 0x26df4c8d
mov dword [ebp - 0x8c8], 0
mov edx, dword [ebp - 0x8cc]
mov eax, dword [ebp - 0x8c8]
xor edx, 0x11
xor eax, 0
mov dword [ebp - 0x8e0], edx
mov dword [ebp - 0x8dc], eax
mov dword [ebp - 0x908], 0x11
mov dword [ebp - 0x904], 0
mov ecx, dword [0x42a8b8]
xor ecx, 0x7b1d
mov edx, dword [0x42a8bc]
xor edx, 0
push 0
push 5
push edx
push ecx
call fcn.00420760
mov dword [ebp - 0x8d8], eax
mov dword [ebp - 0x8d4], edx
push 0
push 0x7b1d
mov eax, dword [0x42a8b4]
push eax
mov ecx, dword [0x42a8b0]
push ecx
call fcn.00420760
push 0
push 0x11
push edx
push eax
call fcn.00421ba0
mov dword [ebp - 0x8e8], eax
mov dword [ebp - 0x8e4], edx
mov edx, dword [ebp - 0x908]
mov eax, dword [ebp - 0x904]
mov ecx, dword [ebp - 0x8d4]
add edx, dword [ebp - 0x8d8]
adc eax, ecx
add edx, 1
adc eax, 0
mov dword [ebp - 0x8f8], edx
mov dword [ebp - 0x8f4], eax
mov edx, dword [ebp - 0x8e0]
mov eax, dword [ebp - 0x8dc]
mov ecx, dword [ebp - 0x8e4]
sub edx, dword [ebp - 0x8e8]
sbb eax, ecx
mov dword [ebp - 0x8f0], edx
mov dword [ebp - 0x8ec], eax
mov edx, dword [ebp - 0x8f0]
mov eax, dword [ebp - 0x8ec]
mov ecx, dword [ebp - 0x8f8]
mov esi, dword [ebp - 0x8f4]
push esi
push ecx
push eax
push edx
call fcn.00421ba0
mov dword [ebp - 0x900], eax
mov dword [ebp - 0x8fc], edx
lea edx, [ebp - 0x828]
push edx
mov eax, dword [ebp - 0x900]
mov ecx, dword [ebp - 0x8fc]
mov dword [ebp - 0x950], ecx
push eax
lea edx, [ebp - 0x824]
push edx
mov eax, dword [ebp - 0x85c]
push eax
mov ecx, dword [ebp - 0x8a4]
mov dword [ebp - 0x878], ecx
mov ecx, dword [ebp - 0x878]
call dword [0x42312c]
call dword [ebp - 0x878]
test eax, eax
je 0x410833
mov edx, dword [ebp - 0x854]
add edx, dword [ebp - 0x828]
mov dword [ebp - 0x854], edx
mov esi, dword [ebp - 0x828]
xor edi, edi
mov eax, dword [0x42a8c0]
xor eax, 0x7b1d
mov ecx, dword [0x42a8c4]
xor ecx, 0
push 0
push 0
push ecx
push eax
call fcn.00420760
push 0
push 5
push edx
push eax
call fcn.00420760
mov ebx, eax
mov eax, edx
push 0
push 0x7b1d
mov edx, dword [0x42a8b4]
push edx
mov ecx, dword [0x42a8b0]
push ecx
mov dword [ebp - 0x8a8], eax
call fcn.00420760
push 0
push 0x11
push edx
push eax
call fcn.00421ba0
add ebx, eax
mov eax, dword [ebp - 0x8a8]
adc eax, edx
xor ebx, 0x11
xor eax, 0
push eax
push ebx
call fcn.0040f360
mov dword [ebp - 0x930], esi
mov dword [ebp - 0x92c], edi
mov dword [ebp - 0x910], eax
mov dword [ebp - 0x90c], edx
mov edx, dword [ebp - 0x930]
cmp edx, dword [ebp - 0x910]
jne 0x4105ad
mov eax, dword [ebp - 0x92c]
cmp eax, dword [ebp - 0x90c]
jne 0x4105ad
mov ecx, dword [ebp - 0x854]
mov dword [ebp - 0x82c], ecx
jmp 0x410833
mov edx, dword [ebp - 0x854]
sub edx, dword [ebp - 0x828]
mov dword [ebp - 0x8b4], edx
mov eax, dword [ebp - 0x838]
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0x854]
cmp ecx, dword [ebp - 0x87c]
ja 0x4105ed
mov edx, dword [ebp - 0x854]
push edx
lea ecx, [ebp - 0x848]
call fcn.00409d70
jmp 0x410607
push 0
mov eax, dword [ebp - 0x854]
sub eax, dword [ebp - 0x87c]
push eax
lea ecx, [ebp - 0x848]
call fcn.0040a0c0
movss xmm0, dword [0x428354]
comiss xmm0, dword [0x42a8c8]
jbe 0x410632
movss xmm0, dword [0x42a8c8]
addss xmm0, dword [0x42834c]
movss dword [0x42a8c8], xmm0
jmp 0x410653
movss xmm0, dword [0x428350]
movss dword [0x42a8c8], xmm0
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
mov edx, dword [0x42a8d0]
and edx, 0x12
mov eax, dword [0x42a8d4]
and eax, 0
mov dword [ebp - 0x918], edx
mov dword [ebp - 0x914], eax
mov ecx, dword [ebp - 0x918]
or ecx, dword [ebp - 0x914]
je 0x41068b
xorps xmm0, xmm0
movlpd qword [0x42a8d0], xmm0
jmp 0x4106a7
mov edx, dword [0x42a8d0]
add edx, 1
mov eax, dword [0x42a8d4]
adc eax, 0
mov dword [0x42a8d0], edx
mov dword [0x42a8d4], eax
mov ecx, dword [ebp - 0x93c]
mov dword [ebp - 0x888], ecx
lea edx, [ebp - 0x848]
mov dword [ebp - 0x868], edx
mov eax, dword [ebp - 0x868]
mov dword [ebp - 0x884], eax
mov ecx, dword [ebp - 0x868]
cmp dword [ecx + 0x14], 0x10
jb 0x4106e3
mov dword [ebp - 0x880], 1
jmp 0x4106ed
mov dword [ebp - 0x880], 0
movzx edx, byte [ebp - 0x880]
test edx, edx
je 0x410712
mov eax, dword [ebp - 0x868]
mov ecx, dword [eax]
mov dword [ebp - 0x8ac], ecx
mov edx, dword [ebp - 0x8ac]
mov dword [ebp - 0x884], edx
mov eax, dword [ebp - 0x884]
mov dword [ebp - 0x888], eax
mov ecx, dword [0x42a8c0]
xor ecx, 0x7b1d
mov edx, dword [0x42a8c4]
xor edx, 0
push 0
push 0
push edx
push ecx
call fcn.00420760
push 0
push 5
push edx
push eax
call fcn.00420760
mov esi, eax
mov edi, edx
add esi, 0
adc edi, 0
push 0
push 0x7b1d
mov eax, dword [0x42a8b4]
push eax
mov ecx, dword [0x42a8b0]
push ecx
call fcn.00420760
push 0
push 0x11
push edx
push eax
call fcn.00421ba0
add esi, eax
adc edi, edx
add esi, 0
adc edi, 0
xor esi, 0x11
xor edi, 0
push edi
push esi
call fcn.0040f360
push 0
push 1
push edx
push eax
call fcn.00420760
mov dword [ebp - 0x938], eax
mov dword [ebp - 0x934], edx
mov edx, dword [ebp - 0x938]
add edx, dword [ebp - 0x888]
mov dword [ebp - 0x8b0], edx
mov eax, dword [0x42a8d0]
and eax, 0x12
mov ecx, dword [0x42a8d4]
and ecx, 0
mov dword [ebp - 0x920], eax
mov dword [ebp - 0x91c], ecx
mov edx, dword [ebp - 0x920]
or edx, dword [ebp - 0x91c]
je 0x4107ef
xorps xmm0, xmm0
movlpd qword [0x42a8d0], xmm0
jmp 0x41080b
mov eax, dword [0x42a8d0]
add eax, 1
mov ecx, dword [0x42a8d4]
adc ecx, 0
mov dword [0x42a8d0], eax
mov dword [0x42a8d4], ecx
mov edx, dword [ebp - 0x828]
push edx
lea eax, [ebp - 0x824]
push eax
mov ecx, dword [ebp - 0x8b0]
add ecx, dword [ebp - 0x8b4]
push ecx
call fcn.00416eb0
add esp, 0xc
jmp 0x410364
cmp dword [ebp - 0x82c], 0
jle 0x410851
mov edx, dword [ebp - 0x854]
cmp edx, dword [ebp - 0x82c]
je 0x410851
mov byte [ebp - 0x849], 0
push 0
push 0
push 2
push 0
push 0
push 0x40000000
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x864], eax
cmp dword [ebp - 0x864], 0
je 0x41093d
mov ecx, dword [ebp - 0x940]
mov dword [ebp - 0x894], ecx
mov edx, dword [ebp - 0x838]
mov dword [ebp - 0x894], edx
mov eax, dword [ebp - 0x944]
mov dword [ebp - 0x898], eax
lea ecx, [ebp - 0x848]
mov dword [ebp - 0x86c], ecx
mov edx, dword [ebp - 0x86c]
mov dword [ebp - 0x890], edx
mov eax, dword [ebp - 0x86c]
cmp dword [eax + 0x14], 0x10
jb 0x4108d1
mov dword [ebp - 0x88c], 1
jmp 0x4108db
mov dword [ebp - 0x88c], 0
movzx ecx, byte [ebp - 0x88c]
test ecx, ecx
je 0x410900
mov edx, dword [ebp - 0x86c]
mov eax, dword [edx]
mov dword [ebp - 0x8b8], eax
mov ecx, dword [ebp - 0x8b8]
mov dword [ebp - 0x890], ecx
mov edx, dword [ebp - 0x890]
mov dword [ebp - 0x898], edx
push 0
lea eax, [ebp - 0x830]
push eax
mov ecx, dword [ebp - 0x894]
push ecx
mov edx, dword [ebp - 0x898]
push edx
mov eax, dword [ebp - 0x864]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [ebp - 0x864]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x85c], 0
je 0x410977
mov edx, dword [0x42b4e4]
mov dword [ebp - 0x8c0], edx
mov eax, dword [ebp - 0x85c]
push eax
mov ecx, dword [ebp - 0x8c0]
mov dword [ebp - 0x89c], ecx
mov ecx, dword [ebp - 0x89c]
call dword [0x42312c]
call dword [ebp - 0x89c]
cmp dword [ebp - 0x860], 0
je 0x4109b1
mov edx, dword [0x42b4e4]
mov dword [ebp - 0x8c4], edx
mov eax, dword [ebp - 0x860]
push eax
mov ecx, dword [ebp - 0x8c4]
mov dword [ebp - 0x8a0], ecx
mov ecx, dword [ebp - 0x8a0]
call dword [0x42312c]
call dword [ebp - 0x8a0]
mov dl, byte [ebp - 0x849]
mov byte [ebp - 0x857], dl
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x848]
call fcn.00409ca0
mov al, byte [ebp - 0x857]
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.00413a2a
mov esp, ebp
pop ebp
ret 0x18