Function at 0x40cb30
Capabilities:
Hash data using fnv
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4242bf
mov eax, dword fs:[0]
push eax
mov eax, 0x1c40
call fcn.00423a60
mov eax, dword [0x434014]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1c04]
xorps xmm0, xmm0
mov dword [ebp - 0x1b28], eax
movlpd qword [ebp - 0x1b64], xmm0
mov dword [ebp - 0x1b88], 0
mov dword [ebp - 0x1b50], 0
mov dword [ebp - 0x1b34], 0
call fcn.00405d30
mov dword [ebp - 4], 0
xor eax, eax
mov dword [ebp - 0x1bc0], fcn.00414eb2
mov dword [ebp - 0x1b74], eax
mov dword [ebp - 0x1bbc], eax
lea ecx, [ebp - 0x1b20]
mov byte [ebp - 4], 1
call fcn.00406970
mov dword [ebp - 0x11d0], 0
mov dword [ebp - 0x11c4], 0
mov dword [ebp - 0x11c0], 0
mov dword [ebp - 0x11bc], 0
xorps xmm0, xmm0
mov dword [ebp - 0xda0], 0
movups xmmword [ebp - 0x984], xmm0
mov dword [ebp - 0x974], 0
mov dword [ebp - 0x970], 0
movups xmmword [ebp - 0x96c], xmm0
mov dword [ebp - 0x95c], 0
mov dword [ebp - 0x958], 0
mov dword [ebp - 0x954], 0
mov dword [ebp - 0x950], 0
mov dword [ebp - 0x94c], 0
mov dword [ebp - 0x948], 0
mov dword [ebp - 0x904], 0
mov dword [ebp - 0x900], 0xffffffff
mov dword [ebp - 0x8fc], 0xffffffff
mov dword [ebp - 0x8f8], 0
mov dword [ebp - 0x8f4], 0
mov dword [ebp - 0x8f0], 0
mov dword [ebp - 0x8ec], 0
mov dword [ebp - 0x8e8], 0
mov dword [ebp - 0x8e4], 0
mov byte [ebp - 4], 9
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x435e1c]
mov dword [ebp - 0x1b38], ecx
cmp eax, dword [ecx + 4]
jle 0x40cd3f
push 0x435e1c
call fcn.0040f658
add esp, 4
cmp dword [0x435e1c], 0xffffffff
jne 0x40cd3f
push 0x418
xorps xmm0, xmm0
mov dword [0x435e28], 0
push 0
push 0x435e34
movq qword [0x435e20], xmm0
mov dword [0x435e2c], 0
mov dword [0x435e30], 0
call fcn.00410b90
push 0x424490
call fcn.0040f96a
push 0x435e1c
call fcn.0040f60e
add esp, 0x14
push 0x435e20
lea ecx, [ebp - 0x11cc]
call fcn.00404880
mov ecx, 0x106
lea edi, [ebp - 0xd9c]
mov esi, 0x435e34
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x8e0], 0
mov dword [ebp - 0x8d8], 0xffffffff
mov dword [ebp - 0x8d4], 0xffffffff
mov dword [ebp - 0x8d0], 0
mov dword [ebp - 0x8cc], 0
mov dword [ebp - 0x8c8], 0
mov dword [ebp - 0x8bc], 0
mov dword [ebp - 0x8b8], 0
mov dword [ebp - 0x8b4], 0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x498], 0
call fcn.00405d30
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x48], 0
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x28], 0
mov word [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0x1b38]
mov byte [ebp - 4], 0x10
mov eax, dword [0x4355bc]
cmp eax, dword [ecx + 4]
jle 0x40ce9f
push 0x4355bc
call fcn.0040f658
add esp, 4
cmp dword [0x4355bc], 0xffffffff
jne 0x40ce9f
push 0x418
xorps xmm0, xmm0
mov dword [0x4355c8], 0
push 0
push 0x4355d4
movq qword [0x4355c0], xmm0
mov dword [0x4355cc], 0
mov dword [0x4355d0], 0
call fcn.00410b90
push 0x4243d0
call fcn.0040f96a
push 0x4355bc
call fcn.0040f60e
add esp, 0x14
push 0x4355c0
lea ecx, [ebp - 0x8c4]
call fcn.00404880
mov ecx, 0x106
lea edi, [ebp - 0x494]
mov esi, 0x4355d4
rep movsd dword es:[edi], dword [esi]
mov esi, 0x431844
mov byte [ebp - 4], 0x11
mov eax, esi
mov dword [ebp - 0x1b80], esi
mov esi, 1
mov dword [ebp - 0x1b4c], eax
cmp dword [ebp + 8], esi
jle 0x40e1b3
mov eax, dword [ebp - 0x1b60]
mov ecx, dword [ebp - 0x1b64]
mov edx, dword [ebp - 0x1b28]
mov dword [ebp - 0x1b2c], eax
mov dword [ebp - 0x1b30], ecx
mov ecx, dword [edx + esi*4]
xor al, al
mov byte [ebp - 0x1b21], al
xor edi, edi
mov dword [ebp - 0x1b38], ecx
movzx eax, word [ecx + edi*2]
test ax, ax
je 0x40cf4f
lea ecx, [eax - 1]
mov edx, 0x3f
cmp cx, 0x7e
movzx eax, al
mov ecx, dword [ebp - 0x1b38]
cmovbe edx, eax
mov byte [edi + 0x446250], dl
inc edi
mov eax, edi
cmp edi, 0x1f
jb 0x40cf17
cmp eax, 0x20
jae 0x40e230
mov byte [edi + 0x446250], 0
cmp byte [0x446250], 0x2d
jne 0x40cf9c
mov cl, byte [0x446251]
test cl, cl
je 0x40cf9c
cmp byte [0x446252], 0
jne 0x40cf9c
mov byte [ebp - 0x1b21], cl
cmp cl, 0x68
jne 0x40cfa2
push str.Usage:_tsreadex___z_ignored___s_seek___l_limit___t_timeout___m_mode___x_pids___n_prog_num_or_index___a_aud1___b_aud2___c_cap___u_sup___r_trace___d_flags__src_n
push 2
call fcn.00414d09
add esp, 4
push eax
call fcn.0040a380
mov esi, 2
jmp 0x40e1cd
mov cl, byte [ebp - 0x1b21]
mov eax, dword [ebp + 8]
dec eax
cmp esi, eax
jge 0x40d5e4
cmp cl, 0x7a
jne 0x40cfb9
inc esi
jmp 0x40d602
cmp cl, 0x73
jne 0x40d039
mov ecx, dword [ebp - 0x1b28]
inc esi
xor edi, edi
mov ecx, dword [ecx + esi*4]
mov dword [ebp - 0x1b38], ecx
movzx eax, word [ecx + edi*2]
test ax, ax
je 0x40d008
lea ecx, [eax - 1]
mov edx, 0x3f
cmp cx, 0x7e
movzx eax, al
mov ecx, dword [ebp - 0x1b38]
cmovbe edx, eax
mov byte [edi + 0x446250], dl
inc edi
mov eax, edi
cmp edi, 0x1f
jb 0x40cfd0
cmp eax, 0x20
jae 0x40e230
push 0xa
push 0
push 0x446250
mov byte [edi + 0x446250], 0
call fcn.004154cf
mov edi, edx
mov dword [ebp - 0x1b30], eax
mov edx, dword [ebp - 0x1b28]
add esp, 0xc
mov dword [ebp - 0x1b2c], edi
jmp 0x40d614
cmp cl, 0x6c
jne 0x40d0db
mov ecx, dword [ebp - 0x1b28]
inc esi
xor edi, edi
mov ecx, dword [ecx + esi*4]
mov dword [ebp - 0x1b38], ecx
movzx eax, word [ecx + edi*2]
test ax, ax
je 0x40d08c
lea ecx, [eax - 1]
mov edx, 0x3f
cmp cx, 0x7e
movzx eax, al
mov ecx, dword [ebp - 0x1b38]
cmovbe edx, eax
mov byte [edi + 0x446250], dl
inc edi
mov eax, edi
cmp edi, 0x1f
jb 0x40d054
cmp eax, 0x20
jae 0x40e230
push 0xa
push 0
push 0x446250
mov byte [edi + 0x446250], 0
call fcn.00415489
shl eax, 0xa
add esp, 0xc
mov dword [ebp - 0x1b88], eax
cmp eax, 0x2000000
jbe 0x40d602
push esi
push str.Error:_argument__d_is_invalid._n
push 2
call fcn.00414d09
add esp, 4
push eax
call fcn.0040a380
add esp, 0xc
mov esi, 1
jmp 0x40e1d0
cmp cl, 0x74
jne 0x40d158
mov ecx, dword [ebp - 0x1b28]
inc esi
xor edi, edi
mov ecx, dword [ecx + esi*4]
mov dword [ebp - 0x1b38], ecx
movzx eax, word [ecx + edi*2]
test ax, ax
je 0x40d12a
lea ecx, [eax - 1]
mov edx, 0x3f
cmp cx, 0x7e
movzx eax, al
mov ecx, dword [ebp - 0x1b38]
cmovbe edx, eax
mov byte [edi + 0x446250], dl
inc edi
mov eax, edi
cmp edi, 0x1f
jb 0x40d0f2
cmp eax, 0x20
jae 0x40e230
push 0xa
push 0
push 0x446250
mov byte [edi + 0x446250], 0
call fcn.00415489
add esp, 0xc
mov dword [ebp - 0x1b50], eax
cmp eax, 0x258
ja 0x40d0b8
jmp 0x40d602
cmp cl, 0x6d
jne 0x40d1eb
mov ecx, dword [ebp - 0x1b28]
inc esi
xor edi, edi
mov ecx, dword [ecx + esi*4]
mov dword [ebp - 0x1b38], ecx
movzx eax, word [ecx + edi*2]
test ax, ax
je 0x40d1ab
lea ecx, [eax - 1]
mov edx, 0x3f
cmp cx, 0x7e
movzx eax, al
mov ecx, dword [ebp - 0x1b38]
cmovbe edx, eax
mov byte [edi + 0x446250], dl
inc edi
mov eax, edi
cmp edi, 0x1f
jb 0x40d173
cmp eax, 0x20
jae 0x40e230
push 0xa
push 0
push 0x446250
mov byte [edi + 0x446250], 0
call fcn.00415489
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x1b34], ecx
cmp ecx, 2
ja 0x40d0b8
mov edx, dword [ebp - 0x1b28]
mov edi, dword [ebp - 0x1b2c]
mov eax, dword [ebp - 0x1b30]
jmp 0x40d61a
cmp cl, 0x78
jne 0x40d2f7
lea ecx, [ebp - 0x1c04]
call fcn.00405e30
mov edx, dword [ebp - 0x1b28]
inc esi
mov dword [ebp - 0x1b58], 0
mov eax, dword [edx + esi*4]
cmp word [eax], 0
je 0x40d608
xor ecx, ecx
nop
lea edi, [ecx + eax]
xor eax, eax
movzx ecx, word [edi + eax*2]
test cx, cx
je 0x40d257
lea edx, [ecx - 1]
movzx ecx, cl
cmp dx, 0x7e
mov edx, 0x3f
cmovbe edx, ecx
mov byte [eax + 0x446250], dl
inc eax
mov ecx, eax
cmp eax, 0x1f
jb 0x40d225
cmp ecx, 0x20
jae 0x40e230
mov byte [eax + 0x446250], 0
lea eax, [ebp - 0x1b70]
push 0xa
push eax
push 0x446250
call fcn.00415489
add esp, 0xc
mov dword [ebp - 0x1b5c], eax
lea eax, [ebp - 0x1b5c]
lea ecx, [ebp - 0x1c04]
push eax
lea eax, [ebp - 0x1bb8]
push eax
call fcn.00406270
cmp dword [ebp - 0x1b5c], 0x1fff
ja 0x40d0b8
mov eax, dword [ebp - 0x1b70]
cmp eax, 0x446250
je 0x40d0b8
mov cl, byte [eax]
test cl, cl
je 0x40d602
cmp cl, 0x2f
jne 0x40d0b8
mov edx, dword [ebp - 0x1b58]
sub eax, 0x446250
inc edx
add edx, eax
mov eax, dword [ebp - 0x1b28]
mov dword [ebp - 0x1b58], edx
mov eax, dword [eax + esi*4]
lea ecx, [edx + edx]
cmp word [ecx + eax], 0
jne 0x40d220
jmp 0x40d602
cmp cl, 0x6e
jne 0x40d378
mov eax, dword [ebp - 0x1b28]
inc esi
xor edi, edi
mov ecx, dword [eax + esi*4]
mov dword [ebp - 0x1b38], ecx
nop
movzx eax, word [ecx + edi*2]
test ax, ax
je 0x40d348
lea ecx, [eax - 1]
mov edx, 0x3f
cmp cx, 0x7e
movzx eax, al
mov ecx, dword [ebp - 0x1b38]
cmovbe edx, eax
mov byte [edi + 0x446250], dl
inc edi
mov eax, edi
cmp edi, 0x1f
jb 0x40d310
cmp eax, 0x20
jae 0x40e230
push 0xa
push 0
push 0x446250
mov byte [edi + 0x446250], 0
call fcn.00415489
mov dword [ebp - 0x1b18], eax
add esp, 0xc
add eax, 0x100
cmp eax, 0x100ff
seta dl
jmp 0x40d5fa
cmp cl, 0x61
je 0x40d457
cmp cl, 0x62
je 0x40d457
cmp cl, 0x63
je 0x40d457
cmp cl, 0x75
je 0x40d457
cmp cl, 0x72
jne 0x40d3b6
mov edx, dword [ebp - 0x1b28]
inc esi
mov eax, dword [edx + esi*4]
mov dword [ebp - 0x1b4c], eax
jmp 0x40d608
cmp cl, 0x64
jne 0x40d602
mov eax, dword [ebp - 0x1b28]
inc esi
xor edi, edi
mov ecx, dword [eax + esi*4]
mov dword [ebp - 0x1b38], ecx
movzx eax, word [ecx + edi*2]
test ax, ax
je 0x40d409
lea ecx, [eax - 1]
mov edx, 0x3f
cmp cx, 0x7e
movzx eax, al
mov ecx, dword [ebp - 0x1b38]
cmovbe edx, eax
mov byte [edi + 0x446250], dl
inc edi
mov eax, edi
cmp edi, 0x1f
jb 0x40d3d1
cmp eax, 0x20
jae 0x40e230
push 0xa
push 0
push 0x446250
mov byte [edi + 0x446250], 0
call fcn.00415489
mov cl, al
add esp, 0xc
and cl, 1
mov byte [ebp - 0x8e0], cl
mov ecx, eax
shr ecx, 1
and cl, 1
mov byte [ebp - 0x8df], cl
mov ecx, eax
shr ecx, 2
and cl, 1
shr eax, 3
and al, 1
mov byte [ebp - 0x8de], cl
mov byte [ebp - 0x8dd], al
jmp 0x40d602
mov eax, dword [ebp - 0x1b28]
inc esi
xor edi, edi
mov ecx, dword [eax + esi*4]
mov dword [ebp - 0x1b38], ecx
nop dword [eax]
movzx eax, word [ecx + edi*2]
test ax, ax
je 0x40d4a8
lea ecx, [eax - 1]
mov edx, 0x3f
cmp cx, 0x7e
movzx eax, al
mov ecx, dword [ebp - 0x1b38]
cmovbe edx, eax
mov byte [edi + 0x446250], dl
inc edi
mov eax, edi
cmp edi, 0x1f
jb 0x40d470
cmp eax, 0x20
jae 0x40e230
push 0xa
push 0
push 0x446250
mov byte [edi + 0x446250], 0
call fcn.00415489
mov ecx, eax
add esp, 0xc
mov al, byte [ebp - 0x1b21]
cmp al, 0x61
jne 0x40d51c
cmp ecx, 0xd
ja 0x40d4e8
mov eax, ecx
and eax, 0x80000003
jns 0x40d4df
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 1
jg 0x40d4e8
xor dl, dl
jmp 0x40d4f8
mov eax, ecx
mov dl, 1
and eax, 0x80000003
jns 0x40d4f8
dec eax
or eax, 0xfffffffc
inc eax
mov dword [ebp - 0x1b14], eax
mov eax, ecx
shr eax, 2
and al, 1
shr ecx, 3
and cl, 1
mov byte [ebp - 0x1b0c], al
mov byte [ebp - 0x1b0a], cl
jmp 0x40d5fa
cmp al, 0x62
jne 0x40d578
cmp ecx, 7
ja 0x40d551
mov eax, ecx
and eax, 0x80000003
jns 0x40d533
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 3
jg 0x40d551
shr ecx, 2
xor dl, dl
and cl, 1
mov dword [ebp - 0x1b10], eax
mov byte [ebp - 0x1b0b], cl
jmp 0x40d5fa
mov eax, ecx
mov dl, 1
and eax, 0x80000003
jns 0x40d561
dec eax
or eax, 0xfffffffc
inc eax
shr ecx, 2
and cl, 1
mov dword [ebp - 0x1b10], eax
mov byte [ebp - 0x1b0b], cl
jmp 0x40d5fa
cmp ecx, 6
ja 0x40d59b
mov edx, ecx
and edx, 0x80000003
jns 0x40d58c
dec edx
or edx, 0xfffffffc
inc edx
cmp edx, 2
jg 0x40d59b
xor ah, ah
mov byte [ebp - 0x1b21], ah
jmp 0x40d5b2
mov edx, ecx
mov ah, 1
mov byte [ebp - 0x1b21], ah
and edx, 0x80000003
jns 0x40d5b2
dec edx
or edx, 0xfffffffc
inc edx
shr ecx, 2
and cl, 1
cmp al, 0x63
jne 0x40d5d0
mov dword [ebp - 0x1b08], edx
mov dl, byte [ebp - 0x1b21]
mov byte [ebp - 0x1b00], cl
jmp 0x40d5fa
mov dword [ebp - 0x1b04], edx
mov dl, byte [ebp - 0x1b21]
mov byte [ebp - 0x1aff], cl
jmp 0x40d5fa
mov eax, dword [ebp - 0x1b28]
mov eax, dword [eax + esi*4]
mov dword [ebp - 0x1b80], eax
cmp word [eax], 0
sete dl
test dl, dl
jne 0x40d0b8
mov edx, dword [ebp - 0x1b28]
mov eax, dword [ebp - 0x1b30]
mov edi, dword [ebp - 0x1b2c]
mov ecx, dword [ebp - 0x1b34]
inc esi
cmp esi, dword [ebp + 8]
jl 0x40cf04
mov esi, dword [ebp - 0x1b80]
cmp word [esi], 0
je 0x40e1b3
cmp ecx, 2
jne 0x40d668
cmp dword [ebp - 0x1b50], 0
jne 0x40d64c
push str.Error:_timeout_must_not_be_0_in_non_blocking_mode._n
jmp 0x40e1b8
or eax, edi
je 0x40d668
push str.Error:_cannot_seek_file_in_non_blocking_mode._n
push 2
call fcn.00414d09
add esp, 4
push eax
call fcn.0040a380
add esp, 8
mov eax, dword [ebp - 0x1b4c]
cmp word [eax], 0x2d
jne 0x40d6b4
cmp word [eax + 2], 0
jne 0x40d6b4
mov byte [ebp - 0x1b21], 1
xor ecx, ecx
cmp dword [ebp - 0x1b34], 2
mov dword [ebp - 0x1b48], ecx
jne 0x40d6e7
push ecx
push ecx
push 1
push ecx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, eax
mov dword [ebp - 0x1b48], ecx
test ecx, ecx
jne 0x40d6e7
push str.Error:_unexpected._n
jmp 0x40e1b8
push 0x8000
push 1
mov byte [ebp - 0x1b21], 0
call fcn.00414d09
push eax
call fcn.00415774
add esp, 8
push eax
call fcn.00415585
add esp, 8
test eax, eax
jns 0x40d682
push str.Error:__setmode._n
jmp 0x40e1b8
or eax, 0xffffffff
cmp word [esi], 0x2d
mov dword [ebp - 0x1b6c], eax
jne 0x40d72d
cmp word [esi + 2], 0
jne 0x40d72d
push 0xfffffffffffffff6
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp dword [ebp - 0x1b48], 0
mov esi, eax
mov dword [ebp - 0x1b40], esi
je 0x40d75f
push 0x40000000
push 1
push 0x80000000
push esi
call dword [sym.imp.KERNEL32.dll_ReOpenFile]
mov esi, eax
jmp 0x40d759
push 0
test ecx, ecx
mov edx, 0x48000080
mov eax, 0x8000080
cmovne eax, edx
push eax
push 3
push 0
push 7
push 0x80000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [ebp - 0x1b6c], esi
mov dword [ebp - 0x1b40], esi
cmp esi, 0xffffffff
jne 0x40d76e
push str.Error:_cannot_open_file._n
jmp 0x40d819
cmp byte [ebp - 0x1b21], 0
jne 0x40d7c9
mov eax, dword [ebp - 0x1b4c]
cmp word [eax], 0
je 0x40d7c5
push 0x4319d0
push eax
call fcn.00415851
add esp, 8
mov dword [ebp - 0x1b74], eax
mov dword [ebp - 0x1bbc], eax
mov byte [ebp - 4], 0x11
test eax, eax
jne 0x40d7d3
push str.Warning:_cannot_open_tracefile._n
push 2
call fcn.00414d09
add esp, 4
push eax
call fcn.0040a380
mov eax, dword [ebp - 0x1b74]
add esp, 8
jmp 0x40d7d3
xor eax, eax
jmp 0x40d7d3
push 1
call fcn.00414d09
add esp, 4
mov ecx, dword [ebp - 0x1b30]
xorps xmm0, xmm0
mov dword [ebp - 0x11d0], eax
mov eax, ecx
or eax, edi
movlpd qword [ebp - 0x1b64], xmm0
je 0x40d857
push edi
push ecx
mov ecx, esi
call fcn.0040cac0
mov esi, edx
mov dword [ebp - 0x1b28], eax
add esp, 8
mov dword [ebp - 0x1b30], esi
test esi, esi
jg 0x40d86f
jl 0x40d814
test eax, eax
jae 0x40d86f
push str.Error:_seek_failed._n
push 2
call fcn.00414d09
add esp, 4
push eax
call fcn.0040a380
mov eax, dword [ebp - 0x1b6c]
add esp, 8
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, 0xffffffff
je 0x40d840
push eax
call esi
mov eax, dword [ebp - 0x1b48]
test eax, eax
je 0x40d84d
push eax
call esi
mov esi, 1
jmp 0x40e1d0
mov esi, dword [ebp - 0x1b60]
mov eax, dword [ebp - 0x1b64]
mov dword [ebp - 0x1b30], esi
mov dword [ebp - 0x1b28], eax
xor eax, eax
mov dword [ebp - 0x1b54], 0x2000
xor edi, edi
mov dword [ebp - 0x1b4c], eax
lea ecx, [ebp - 0x1b7c]
mov dword [ebp - 0x1b3c], edi
call fcn.0040ca00
mov eax, dword [ebp - 0x1b7c]
lea edx, [ebp - 0x1b7c]
mov ecx, dword [ebp - 0x1b78]
mov dword [ebp - 0x1b90], eax
mov dword [ebp - 0x1ba0], eax
lea eax, [ebp - 0x1b64]
mov dword [ebp - 0x1b8c], ecx
mov dword [ebp - 0x1b9c], ecx
lea ecx, [ebp - 0x1b98]
push eax
mov dword [ebp - 0x1b64], 1
mov dword [ebp - 0x1b60], edi
call fcn.0040eb10
mov eax, dword [ebp - 0x1b28]
add esp, 4
mov dword [ebp - 0x1b70], eax
mov eax, dword [ebp - 0x1b94]
mov dword [ebp - 0x1b5c], eax
mov eax, dword [ebp - 0x1b98]
mov dword [ebp - 0x1b38], esi
mov dword [ebp - 0x1b58], eax
jmp 0x40d916
mov esi, dword [ebp - 0x1b30]
cmp dword [ebp - 0x1b3c], 0
jne 0x40d927
mov eax, dword [ebp - 0x1b54]
jmp 0x40d958
cmp dword [ebp - 0x1b34], 1
jne 0x40d939
mov esi, dword [ebp - 0x1b3c]
dec esi
jmp 0x40d93b
xor esi, esi
mov eax, dword [ebp - 0x1b54]
xor edx, edx
div dword [ebp - 0x1b3c]
imul eax, dword [ebp - 0x1b3c]
sub eax, esi
mov esi, dword [ebp - 0x1b30]
mov ecx, dword [ebp - 0x1b90]
mov edx, dword [ebp - 0x1b48]
mov dword [ebp - 0x1be4], ecx
mov ecx, dword [ebp - 0x1b8c]
mov dword [ebp - 0x1be0], ecx
mov ecx, dword [ebp - 0x1b50]
mov dword [ebp - 0x1bdc], ecx
lea ecx, [edi + 0x436250]
movups xmm0, xmmword [ebp - 0x1be4]
mov dword [ebp - 0x1b80], eax
sub eax, edi
mov dword [ebp - 0x1bc4], 0
movups xmmword [ebp - 0x1c14], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1bd4], xmm0
test edx, edx
je 0x40daba
mov dword [ebp - 0x1bc4], edx
lea edx, [ebp - 0x1bd4]
push edx
push 0
push eax
push ecx
push dword [ebp - 0x1b40]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x40da05
push 0
lea eax, [ebp - 0x1b68]
push eax
lea eax, [ebp - 0x1bd4]
push eax
push dword [ebp - 0x1b40]
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
or ecx, 0xffffffff
test eax, eax
cmovne ecx, dword [ebp - 0x1b68]
jmp 0x40da65
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x40da62
lea ecx, [ebp - 0x1c14]
call fcn.0040e240
test al, al
jne 0x40da48
push 0x3e8
push dword [ebp - 0x1b48]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x40d9db
lea ecx, [ebp - 0x1c14]
call fcn.0040e240
test al, al
je 0x40da21
push dword [ebp - 0x1b40]
call dword [sym.imp.KERNEL32.dll_CancelIo]
push 0xffffffffffffffff
push dword [ebp - 0x1b48]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
or ecx, 0xffffffff
mov edx, dword [ebp - 0x1b34]
mov byte [ebp - 0x1b44], 0
mov dword [ebp - 0x1b2c], 0xffffffff
test edx, edx
jne 0x40dadd
test ecx, ecx
jle 0x40dbf9
mov eax, ecx
add edi, ecx
cdq
add dword [ebp - 0x1b28], eax
adc esi, edx
mov edx, dword [ebp - 0x1b34]
mov dword [ebp - 0x1b30], esi
test ecx, ecx
jle 0x40dbf9
mov esi, dword [ebp - 0x1b2c]
mov eax, dword [ebp - 0x1b44]
jmp 0x40dd06
push 0
lea edx, [ebp - 0x1b68]
push edx
push eax
push ecx
push dword [ebp - 0x1b40]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x40da62
mov ecx, dword [ebp - 0x1b68]
jmp 0x40da65
cmp edx, 1
jne 0x40dcd9
test ecx, ecx
jg 0x40db0f
xor ecx, ecx
mov eax, edi
cmp dword [ebp - 0x1b3c], ecx
setne cl
sub eax, ecx
cdq
add dword [ebp - 0x1b28], eax
adc esi, edx
xor edx, edx
mov dword [ebp - 0x1b34], edx
jmp 0x40dcf4
add edi, ecx
cmp edi, dword [ebp - 0x1b80]
jne 0x40e061
cmp dword [ebp - 0x1b3c], 0
lea eax, [ebp - 0x1b3c]
mov edx, edi
push eax
jne 0x40dbd4
call fcn.0040eee0
add esp, 4
mov ecx, eax
cmp dword [ebp - 0x1b3c], 0
jne 0x40db57
xor edi, edi
mov dword [ebp - 0x1b2c], 0xffffffff
jmp 0x40dbf9
lea eax, [ecx + 1]
mov edi, 1
cdq
add dword [ebp - 0x1b28], eax
mov al, byte [ecx + 0x436250]
mov ecx, dword [ebp - 0x1b40]
adc esi, edx
mov dword [ebp - 0x1b30], esi
xor esi, esi
push dword [ebp - 0x1b30]
mov byte [0x436250], al
push dword [ebp - 0x1b28]
mov dword [ebp - 0x1b2c], esi
call fcn.0040cac0
add esp, 8
cmp eax, dword [ebp - 0x1b28]
jne 0x40dbaf
cmp edx, dword [ebp - 0x1b30]
je 0x40dcb7
push str.Warning:_seek_failed._n
push 2
call fcn.00414d09
add esp, 4
push eax
call fcn.0040a380
mov edx, dword [ebp - 0x1b34]
add esp, 8
mov al, 1
jmp 0x40dd06
call fcn.0040eee0
add esp, 4
mov dword [ebp - 0x1b2c], eax
test eax, eax
je 0x40dcc5
mov edi, 1
mov dword [ebp - 0x1b2c], 0
cmp dword [ebp - 0x1b50], 0
je 0x40dca7
lea eax, [ebp - 0x1b7c]
push eax
lea ecx, [ebp - 0x1c1c]
call fcn.0040ca00
mov edx, eax
lea ecx, [ebp - 0x1c24]
call fcn.0040eb50
add esp, 4
push 0
push 0x3b9aca00
push dword [eax + 4]
push dword [eax]
call fcn.00423a90
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x1b50]
cdq
cmp ecx, edx
jg 0x40dca7
jl 0x40dc4e
cmp esi, eax
jae 0x40dca7
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebp - 0x1b34]
cmp edx, 2
je 0x40daa9
mov esi, dword [ebp - 0x1b30]
mov ecx, dword [ebp - 0x1b40]
push esi
push dword [ebp - 0x1b28]
call fcn.0040cac0
add esp, 8
cmp eax, dword [ebp - 0x1b28]
jne 0x40dc8f
cmp edx, esi
je 0x40dcb1
push str.Warning:_seek_failed._n
push 2
call fcn.00414d09
add esp, 4
push eax
call fcn.0040a380
add esp, 8
mov edx, dword [ebp - 0x1b34]
mov al, 1
jmp 0x40dd00
mov esi, dword [ebp - 0x1b2c]
mov edx, dword [ebp - 0x1b34]
mov eax, dword [ebp - 0x1b44]
jmp 0x40dd06
lea eax, [edi - 1]
cdq
add dword [ebp - 0x1b28], eax
adc esi, edx
mov dword [ebp - 0x1b30], esi
jmp 0x40dd55
test ecx, ecx
jns 0x40dce1
mov al, 1
jmp 0x40dd00
mov eax, ecx
add edi, ecx
cdq
add dword [ebp - 0x1b28], eax
adc esi, edx
mov edx, dword [ebp - 0x1b34]
mov eax, dword [ebp - 0x1b44]
mov dword [ebp - 0x1b30], esi
mov esi, dword [ebp - 0x1b2c]
cmp edi, dword [ebp - 0x1b80]
je 0x40dd16
test al, al
je 0x40e061
mov dword [ebp - 0x1b44], eax
mov dword [ebp - 0x1b34], edx
test esi, esi
jns 0x40dd5b
lea eax, [ebp - 0x1b3c]
mov edx, edi
push eax
call fcn.0040eee0
mov dword [ebp - 0x1b2c], eax
add esp, 4
mov eax, dword [ebp - 0x1b34]
mov dword [ebp - 0x1b34], eax
mov eax, dword [ebp - 0x1b44]
mov dword [ebp - 0x1b44], eax
mov esi, dword [ebp - 0x1b2c]
cmp dword [ebp - 0x1b3c], 0
je 0x40de22
nop dword [eax + eax]
mov eax, dword [ebp - 0x1b3c]
add eax, esi
cmp eax, edi
jg 0x40de22
movzx edx, byte [esi + 0x436251]
movzx eax, byte [esi + 0x436252]
and edx, 0x1f
shl edx, 8
or edx, eax
movzx eax, dl
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
mov eax, dword [ebp - 0x1bf8]
imul ecx, ecx, 0x1000193
and ecx, dword [ebp - 0x1bec]
lea ecx, [eax + ecx*8]
mov eax, dword [ecx + 4]
cmp eax, dword [ebp - 0x1c00]
je 0x40de00
mov ecx, dword [ecx]
cmp edx, dword [eax + 8]
je 0x40ddfc
nop dword [eax]
cmp eax, ecx
je 0x40de00
mov eax, dword [eax + 4]
cmp edx, dword [eax + 8]
jne 0x40ddf0
test eax, eax
jne 0x40de12
lea eax, [esi + 0x436250]
push eax
lea ecx, [ebp - 0x1b20]
call fcn.00406ce0
mov ecx, dword [ebp - 0x1b3c]
add esi, ecx
test ecx, ecx
jne 0x40dd70
mov esi, dword [ebp - 0x1afc]
cmp esi, dword [ebp - 0x1af8]
je 0x40de5c
push esi
lea ecx, [ebp - 0x11d0]
call fcn.0040a3a0
push esi
lea ecx, [ebp - 0x8e0]
call fcn.004049a0
add esi, 0xbc
cmp esi, dword [ebp - 0x1af8]
jne 0x40de30
mov esi, dword [ebp - 0x1afc]
lea ecx, [ebp - 0x1ba8]
mov dword [ebp - 0x1af8], esi
call fcn.0040ca00
mov eax, dword [ebp - 0x1b4c]
lea edx, [ebp - 0x1ba8]
mov esi, dword [ebp - 0x1b54]
lea ecx, [ebp - 0x1c2c]
inc eax
cmp eax, 0x1f4
mov dword [ebp - 0x1b4c], eax
mov eax, 0x10000
cmovge esi, eax
lea eax, [ebp - 0x1ba0]
push eax
mov dword [ebp - 0x1b54], esi
call fcn.0040eb50
add esp, 4
cmp dword [eax + 4], 0
jl 0x40df1f
jg 0x40debe
cmp dword [eax], 0x3b9aca00
jb 0x40df1f
cmp dword [ebp - 0x1b4c], 0xa
jge 0x40dee4
lea eax, [esi - 0x2000]
mov edx, eax
cmp eax, 0x2000
mov eax, 0x2000
cmovb edx, eax
mov dword [ebp - 0x1b54], edx
jmp 0x40deff
lea eax, [esi + 0x2000]
mov ecx, eax
cmp eax, 0x10000
mov eax, 0x10000
cmova ecx, eax
mov dword [ebp - 0x1b54], ecx
mov ecx, dword [ebp - 0x1ba4]
xor eax, eax
mov dword [ebp - 0x1b4c], eax
mov eax, dword [ebp - 0x1ba8]
mov dword [ebp - 0x1ba0], eax
mov dword [ebp - 0x1b9c], ecx
mov eax, dword [ebp - 0x8d0]
mov esi, dword [ebp - 0x8cc]
cmp eax, esi
je 0x40dfa2
cmp byte [ebp - 0x1b21], 0
jne 0x40df72
push 1
sub esi, eax
call fcn.00414d09
push eax
push esi
push 1
push dword [ebp - 0x8d0]
call fcn.00414c07
mov ecx, dword [ebp - 0x1b44]
add esp, 0x14
cmp eax, esi
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov eax, dword [ebp - 0x8d0]
mov dword [ebp - 0x1b44], ecx
lea ecx, [ebp - 0x1c4c]
mov dword [ebp - 0x8cc], eax
call fcn.0040ca00
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1b90], ecx
mov dword [ebp - 0x1b8c], eax
mov dword [ebp - 0x1b7c], ecx
mov dword [ebp - 0x1b78], eax
jmp 0x40dff4
cmp dword [ebp - 0x1b50], 0
je 0x40dff4
lea eax, [ebp - 0x1b7c]
push eax
lea edx, [ebp - 0x1ba8]
lea ecx, [ebp - 0x1c34]
call fcn.0040eb50
add esp, 4
push 0
push 0x3b9aca00
push dword [eax + 4]
push dword [eax]
call fcn.00423a90
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x1b50]
cdq
cmp ecx, edx
jg 0x40e18e
jl 0x40dff4
cmp esi, eax
jae 0x40e18e
cmp byte [ebp - 0x1b44], 0
jne 0x40e18e
cmp dword [ebp - 0x1b3c], 0
jne 0x40e00e
xor edi, edi
jmp 0x40e061
mov esi, dword [ebp - 0x1b2c]
test esi, esi
jne 0x40e020
cmp edi, dword [ebp - 0x1b3c]
jl 0x40e054
mov ecx, dword [ebp - 0x1b3c]
mov eax, edi
sub eax, esi
cdq
idiv ecx
test edx, edx
je 0x40e054
imul eax, ecx
lea ecx, [esi + 0x436250]
add ecx, eax
mov eax, edi
sub eax, ecx
add eax, 0x436250
push eax
push ecx
push 0x436250
call fcn.00412020
add esp, 0xc
sub edi, esi
mov eax, edi
cdq
idiv dword [ebp - 0x1b3c]
mov edi, edx
mov eax, dword [ebp - 0x1b88]
test eax, eax
je 0x40d910
mov esi, dword [ebp - 0x1b28]
sub esi, dword [ebp - 0x1b70]
mov ecx, dword [ebp - 0x1b30]
sbb ecx, dword [ebp - 0x1b38]
cdq
cmp ecx, edx
jl 0x40e0f4
jg 0x40e092
cmp esi, eax
jbe 0x40e0f4
lea ecx, [ebp - 0x1bb0]
call fcn.0040ca00
mov eax, dword [ebp - 0x1b5c]
cmp dword [ebp - 0x1bac], eax
jg 0x40e0f4
jl 0x40e0bb
mov eax, dword [ebp - 0x1b58]
cmp dword [ebp - 0x1bb0], eax
jae 0x40e0f4
lea eax, [ebp - 0x1bb0]
push eax
lea edx, [ebp - 0x1b98]
lea ecx, [ebp - 0x1c3c]
call fcn.0040eb50
add esp, 4
push 0
push 0xf4240
push dword [eax + 4]
push dword [eax]
call fcn.00423a90
push eax
mov dword [ebp - 0x1b80], edx
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x1b64]
call fcn.0040ca00
mov eax, dword [ebp - 0x1b5c]
cmp dword [ebp - 0x1b60], eax
jl 0x40d910
jg 0x40e125
mov eax, dword [ebp - 0x1b58]
cmp dword [ebp - 0x1b64], eax
jb 0x40d910
lea eax, [ebp - 0x1bb8]
mov dword [ebp - 0x1bb8], 1
push eax
lea edx, [ebp - 0x1b64]
mov dword [ebp - 0x1bb4], 0
lea ecx, [ebp - 0x1c44]
call fcn.0040eb10
mov esi, dword [ebp - 0x1b30]
add esp, 4
mov dword [ebp - 0x1b38], esi
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x1b58], ecx
mov dword [ebp - 0x1b98], ecx
mov ecx, dword [ebp - 0x1b28]
mov dword [ebp - 0x1b5c], edx
mov dword [ebp - 0x1b94], edx
mov dword [ebp - 0x1b70], ecx
jmp 0x40d916
mov eax, dword [ebp - 0x1b6c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, 0xffffffff
je 0x40e1a2
push eax
call esi
mov eax, dword [ebp - 0x1b48]
test eax, eax
je 0x40e1af
push eax
call esi
xor esi, esi
jmp 0x40e1d0
push str.Error:_not_enough_arguments._n
push 2
call fcn.00414d09
add esp, 4
push eax
call fcn.0040a380
mov esi, 1
add esp, 8
lea ecx, [ebp - 0x8e0]
call fcn.0040e910
lea ecx, [ebp - 0x11d0]
call fcn.0040e6a0
lea ecx, [ebp - 0x1b20]
call fcn.0040e290
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x1b74]
test eax, eax
je 0x40e208
push eax
call fcn.00414eb2
add esp, 4
lea ecx, [ebp - 0x1c04]
call fcn.00404910
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040f4da
mov esp, ebp
pop ebp
ret
call fcn.0040faa1
int3