Function at 0x10060b63
Capabilities:
Get file size

Disassembly:
mov eax, 0x1013902c
call fcn.1007db34
sub esp, 0xde8
push ebx
push esi
xor ebx, ebx
push edi
push ebx
call fcn.100680fb
mov eax, dword [ebp + 8]
pop ecx
cmp eax, ebx
je 0x100615db
cmp word [eax], bx
je 0x100615db
mov eax, dword [ebp + 0xc]
cmp eax, ebx
je 0x100615db
cmp word [eax], bx
je 0x100615db
cmp dword [0x101aef34], ebx
jne 0x10060bbb
push 0x3f4
push 2
jmp 0x100615e2
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0xdf2]
mov word [ebp - 0xdf4], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0xe1
xor eax, eax
lea edi, [ebp - 0x483]
mov byte [ebp - 0x484], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 1
mov dword [ebp - 0xbc], ebx
pop edx
or dword [ebp - 0x14], 0xffffffff
stosb byte es:[edi], al
mov eax, dword [ebp + 0x14]
push 9
mov dword [ebp - 0x24], eax
pop ecx
xor eax, eax
lea edi, [ebp - 0xb8]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x4c]
mov esi, 0x80
push eax
push 0x60
push edx
push 5
push esi
push 0x120089
push dword [ebp + 8]
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
call fcn.10060b04
add esp, 0x1c
cmp eax, 0xffffffff
mov dword [ebp - 0x10], eax
jne 0x10060c75
cmp dword [ebp - 0x4c], 0xc0000034
je 0x10061484
push ebx
push 0x60
push 1
push 7
push esi
push 0x120089
push dword [ebp + 8]
call fcn.10060b04
add esp, 0x1c
cmp eax, 0xffffffff
mov dword [ebp - 0x10], eax
je 0x10061456
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x10]
call fcn.1005ff35
add esp, 0x1c
test eax, eax
je 0x10060cbb
mov ecx, 0xe1
xor eax, eax
lea edi, [ebp - 0xbeb]
mov byte [ebp - 0xbec], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0xbec]
push eax
push dword [ebp - 0x10]
call fcn.10066407
pop ecx
test eax, eax
pop ecx
jne 0x10061469
push ebx
push ebx
push dword [ebp - 0x10]
call fcn.100600ff
add esp, 0xc
test eax, eax
je 0x10060d00
mov ecx, 0xdb
xor eax, eax
lea edi, [ebp - 0xbd3]
mov byte [ebp - 0xbd4], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push ebx
lea eax, [ebp - 0xbd4]
push ebx
push eax
push dword [ebp - 0x10]
call fcn.10067676
add esp, 0x10
test eax, eax
jne 0x10061469
lea eax, [ebp - 0xbc]
push 0x28
push eax
push dword [ebp - 0x10]
call fcn.10073251
add esp, 0xc
test eax, eax
je 0x1006148b
push 8
xor eax, eax
pop ecx
lea edi, [ebp - 0x90]
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x18], ebx
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x94]
push eax
push dword [ebp + 0xc]
call fcn.10073394
pop ecx
test eax, eax
pop ecx
je 0x10060da3
cmp dword [ebp - 0x74], ebx
push 1
pop edi
mov dword [ebp - 0x18], edi
jne 0x10060d57
cmp dword [ebp - 0x78], ebx
je 0x10060da3
lea eax, [ebp - 0xdf4]
push eax
push 0x1018b118
push dword [ebp + 0xc]
call fcn.1006162a
add esp, 0xc
test eax, eax
je 0x10060d95
lea eax, [ebp - 0xdf4]
push eax
push dword [ebp + 0xc]
call fcn.10073812
pop ecx
test eax, eax
pop ecx
je 0x10060d8c
mov dword [ebp - 0x30], edi
jmp 0x10060da3
push 0x463
push 0x28
jmp 0x10060d9c
push 0x46b
push 0x24
call fcn.100680dd
pop ecx
pop ecx
push ebx
push 0x60
push 3
push 1
mov edi, 0x12019f
push esi
push edi
push dword [ebp + 0xc]
call fcn.10060b04
add esp, 0x1c
cmp eax, 0xffffffff
mov dword [ebp - 0x14], eax
jne 0x10060def
push 1
push ebx
push dword [ebp + 0xc]
call fcn.100732ab
push ebx
push 0x60
push 1
push 7
push esi
push edi
push dword [ebp + 0xc]
call fcn.10060b04
add esp, 0x28
cmp eax, 0xffffffff
mov dword [ebp - 0x14], eax
je 0x10061494
cmp dword [ebp - 0x18], ebx
je 0x10060dfc
cmp dword [ebp - 0x30], ebx
mov dword [ebp - 0x3c], ebx
je 0x10060e03
mov dword [ebp - 0x3c], 1
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], 1
je 0x10060f11
or dword [ebp - 0x1c], 0xffffffff
or dword [ebp - 0x18], 0xffffffff
cmp dword [ebp - 0x30], ebx
je 0x10060e46
push ebx
push 0x60
push 1
push 7
push esi
lea eax, [ebp - 0xdf4]
push 0x120089
push eax
call fcn.10060b04
add esp, 0x1c
cmp eax, 0xffffffff
mov dword [ebp - 0x18], eax
je 0x10060e4c
jmp 0x10060e49
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
cmp dword [ebp + 0x10], ebx
jne 0x10060f02
cmp dword [ebp - 0x1c], 0xffffffff
je 0x10060f02
mov ecx, 0xe1
xor eax, eax
lea edi, [ebp - 0xbeb]
mov byte [ebp - 0xbec], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0xbec]
push eax
push dword [ebp - 0x1c]
call fcn.10066407
pop ecx
test eax, eax
pop ecx
je 0x10060f02
lea eax, [ebp - 0xbec]
push 0x10
push eax
lea eax, [ebp - 0x484]
push eax
mov dword [ebp - 0x20], ebx
call fcn.1007dea0
lea eax, [ebp - 0xba4]
push 0x198
push eax
lea eax, [ebp - 0x43c]
push eax
call fcn.1007dea0
add esp, 0x18
cmp dword [ebp + 0x14], ebx
jne 0x10060f02
cmp dword [ebp - 0x86c], ebx
jbe 0x10060f02
push dword [ebp - 0x86c]
call fcn.1007e238
push dword [ebp - 0x86c]
mov dword [ebp - 0x24], eax
push ebx
push eax
call fcn.1007e1e0
lea eax, [ebp + 0x10]
mov dword [ebp + 0x10], ebx
push eax
push dword [ebp - 0x86c]
push dword [ebp - 0x24]
push dword [ebp - 0x1c]
call fcn.10066580
add esp, 0x20
cmp dword [ebp - 0x18], 0xffffffff
je 0x10060f11
push dword [ebp - 0x18]
call dword [0x101aebd0]
mov ecx, 0xf7
xor eax, eax
lea edi, [ebp - 0x863]
mov byte [ebp - 0x864], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x864]
push eax
call fcn.1006ba8f
test eax, eax
pop ecx
je 0x1006149d
push dword [ebp - 0x20]
lea eax, [ebp - 0x484]
push eax
call fcn.1006bb59
pop ecx
test eax, eax
pop ecx
je 0x100614a6
push 0xf
xor eax, eax
pop ecx
lea edi, [ebp - 0xfb]
mov byte [ebp - 0xfc], bl
mov dword [ebp - 0x6c], ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], ebx
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0xfc]
push 0x40
push eax
push dword [ebp - 0x290]
mov dword [ebp - 0x44], ebx
push dword [ebp - 0x298]
push dword [ebp - 0x464]
call fcn.10070e2f
add esp, 0x20
cmp eax, ebx
mov dword [ebp - 0x54], eax
je 0x100614af
push eax
call fcn.1005fb73
cmp eax, ebx
pop ecx
mov dword [ebp - 0x20], eax
je 0x100614b8
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], ebx
push eax
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push dword [ebp - 0x48]
mov esi, eax
push esi
push dword [ebp - 0x14]
call fcn.100615fb
add esp, 0xc
test eax, eax
je 0x100614c1
cmp dword [ebp - 0x6c], ebx
mov dword [ebp - 0x3c], 1
je 0x10060ffe
or dword [ebp - 0x840], 8
cmp dword [ebp - 0x58], ebx
je 0x1006100a
or dword [ebp - 0x840], 0x10
push dword [ebp - 0x10]
call fcn.10071121
mov dword [ebp - 0x474], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x468], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x460], eax
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0xfc]
push dword [ebp - 0x44]
mov dword [ebp - 0x470], ebx
mov dword [ebp - 0x46c], esi
push eax
call fcn.10074cd3
lea eax, [ebp - 0x864]
mov edi, 0x3e0
push eax
mov dword [ebp - 0x44c], edi
mov dword [ebp - 0x448], ebx
mov dword [ebp - 0x444], ebx
mov dword [ebp - 0x440], ebx
mov dword [ebp - 0x10c], ebx
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x100], ebx
call fcn.1006bad2
add esp, 0x14
mov esi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
push ebx
push ebx
push ebx
push dword [ebp - 0x14]
call esi
lea eax, [ebp - 0x864]
push edi
push eax
push dword [ebp - 0x14]
call fcn.10066afd
add esp, 0xc
test eax, eax
je 0x100614ca
push ebx
push ebx
push ebx
push dword [ebp - 0x10]
call esi
push ebx
push ebx
push dword [ebp - 0x44c]
push dword [ebp - 0x14]
call esi
cmp dword [ebp - 0x46c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp + 0x10], ebx
jne 0x100610f3
cmp dword [ebp - 0x468], ebx
jne 0x100610f3
mov dword [ebp - 0x18], 1
mov dword [ebp + 0x10], ebx
jmp 0x100612da
cmp dword [ebp - 0x468], ebx
mov eax, 0x10000
mov edi, eax
jne 0x10061110
cmp dword [ebp - 0x46c], eax
jae 0x10061110
mov edi, dword [ebp - 0x46c]
push edi
call fcn.1007e238
pop ecx
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x20]
push edi
mov eax, dword [ecx]
call dword [eax + 8]
add eax, 4
push eax
mov dword [ebp - 0x68], eax
call fcn.1007e238
pop ecx
mov dword [ebp - 0x5c], eax
push ebx
push ebx
push dword [ebp - 0x44c]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x14]
call esi
push edi
push ebx
push dword [ebp - 0x34]
call fcn.1007e1e0
push dword [ebp - 0x68]
push ebx
push dword [ebp - 0x1c]
call fcn.1007e1e0
push ebx
lea eax, [ebp - 0x2c]
push ebx
push eax
push edi
mov dword [ebp - 0x2c], ebx
push dword [ebp - 0x34]
push dword [ebp - 0x10]
call fcn.1007354a
add esp, 0x30
test eax, eax
je 0x10061237
cmp dword [ebp - 0x2c], edi
jae 0x10061194
cmp dword [ebp - 0x2c], ebx
mov dword [ebp - 0x18], 1
je 0x100612ad
lea eax, [ebp - 0x70]
mov dword [ebp - 0x40], ebx
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xfc]
push dword [ebp - 0x2c]
push dword [ebp - 0x34]
push dword [ebp - 0x44]
push eax
push dword [ebp - 0x20]
call fcn.1006c142
add esp, 0x28
cmp eax, ebx
jne 0x10061240
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x40]
add eax, 4
push eax
call fcn.10074cb0
mov ecx, dword [ebp - 0x1c]
push ebx
mov dword [ecx], eax
lea eax, [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x60], ebx
push eax
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
call fcn.10073654
add esp, 0x1c
test eax, eax
je 0x10061291
mov eax, dword [ebp - 0x40]
add eax, 4
cmp dword [ebp - 0x60], eax
jb 0x10061298
cmp dword [ebp - 0x448], ebx
jne 0x10061220
mov dword [ebp - 0x444], eax
inc dword [ebp - 0x448]
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0x440], eax
je 0x10061149
jmp 0x100612ad
push 0x550
push 0xd
jmp 0x1006129f
jge 0x10061288
push 0x1019f4bc
lea ecx, [ebp - 0x20]
call fcn.10094520
push 0x564
lea eax, [ebp - 0x20]
push dword [ebp - 0x44]
mov dword [ebp - 4], ebx
push dword [ebp - 0x2c]
push dword [ebp - 0x54]
push dword [ebp + 8]
push str.Error:_Encrypt_Data_Failed__File_s__Algrithm_d__DataLen_lu_KeyLen_lu__LINE_d
push eax
call fcn.10097c40
push dword [ebp - 0x20]
call fcn.10072272
or dword [ebp - 4], 0xffffffff
add esp, 0x20
lea ecx, [ebp - 0x20]
call fcn.10094cc0
push 0x568
push 0x11
jmp 0x1006129f
push 0x572
jmp 0x1006129d
push 0x579
push 0xe
call fcn.100680dd
pop ecx
mov dword [ebp + 0x10], 1
pop ecx
cmp dword [ebp - 0x34], ebx
je 0x100612bb
push dword [ebp - 0x34]
call fcn.1007de95
pop ecx
cmp dword [ebp - 0x5c], ebx
je 0x100612c9
push dword [ebp - 0x5c]
call fcn.1007de95
pop ecx
cmp dword [ebp - 0x38], ebx
je 0x100612da
push dword [ebp - 0x38]
call fcn.1007de95
pop ecx
mov dword [ebp - 0x38], ebx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
cmp dword [ebp - 0x18], ebx
je 0x100614e8
cmp dword [ebp + 0x10], ebx
jne 0x100614e8
test byte [ebp + 0x1c], 4
je 0x1006130e
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x10]
call fcn.10071b16
add esp, 0xc
cmp dword [ebp - 0x10], 0xffffffff
je 0x10061321
push dword [ebp - 0x10]
call dword [0x101aebd0]
or dword [ebp - 0x10], 0xffffffff
mov edi, dword [ebp - 0x24]
cmp edi, ebx
je 0x100613e3
mov eax, dword [ebp - 0x448]
cmp eax, ebx
jne 0x10061348
mov dword [ebp - 0x10c], 0x3e0
mov dword [ebp - 0x108], ebx
jmp 0x10061379
push ebx
dec eax
push dword [ebp - 0x444]
push ebx
push eax
call fcn.1007ea30
mov ecx, dword [ebp - 0x440]
xor edi, edi
add eax, ecx
adc edx, edi
mov edi, dword [ebp - 0x24]
add eax, 0x3e0
adc edx, ebx
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], edx
lea eax, [ebp - 0x484]
push edi
push eax
push dword [ebp - 0x844]
push dword [ebp - 0x14]
call fcn.10066b50
add esp, 0x10
test eax, eax
je 0x100613d5
lea eax, [ebp - 0x840]
push edi
push eax
call fcn.100721af
or dword [ebp - 0x840], 4
push edi
call fcn.10074d62
add esp, 0xc
test eax, eax
jne 0x100613be
or dword [ebp - 0x840], 1
add edi, 0x10
push edi
call fcn.10074d62
test eax, eax
pop ecx
jne 0x100613e3
or dword [ebp - 0x840], 2
jmp 0x100613e3
push 0x5b7
push 0x10
call fcn.100680dd
pop ecx
pop ecx
lea eax, [ebp - 0x864]
push eax
call fcn.1006baf3
lea eax, [ebp - 0x484]
push eax
lea eax, [ebp - 0x864]
push eax
call fcn.1006b971
add esp, 0xc
test eax, eax
je 0x100614d1
push ebx
push ebx
push ebx
push dword [ebp - 0x14]
call esi
lea eax, [ebp - 0x864]
push 0x3e0
push eax
push dword [ebp - 0x14]
call fcn.10066afd
add esp, 0xc
test eax, eax
je 0x100614da
test byte [ebp + 0x1c], 2
je 0x1006144e
lea eax, [ebp - 0xbc]
push 0x28
push eax
push dword [ebp - 0x14]
call fcn.1007327e
add esp, 0xc
mov dword [ebp - 0x64], ebx
jmp 0x100614e8
push 0x426
push 3
call fcn.100680dd
pop ecx
pop ecx
jmp 0x10061506
push dword [ebp - 0x10]
call dword [0x101aebd0]
push dword [ebp + 0x1c]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.1006432f
add esp, 0x10
xor eax, eax
jmp 0x100615ec
push 0x44b
push 5
jmp 0x100614e1
push 0x48a
push 4
jmp 0x100614e1
push 0x4ce
push 7
jmp 0x100614e1
push 0x4d5
push 8
jmp 0x100614e1
push 0x4e4
push 0xb
jmp 0x100614e1
push 0x4eb
push 0xc
jmp 0x100614e1
push 0x4f9
push 0x25
jmp 0x100614e1
push 0x521
jmp 0x100614df
push 0x5c1
push 0x13
jmp 0x100614e1
push 0x5c9
push 0x10
call fcn.100680dd
pop ecx
pop ecx
cmp dword [ebp - 0x10], 0xffffffff
je 0x100614f7
push dword [ebp - 0x10]
call dword [0x101aebd0]
cmp dword [ebp - 0x14], 0xffffffff
je 0x10061506
push dword [ebp - 0x14]
call dword [0x101aebd0]
cmp dword [ebp + 0x14], ebx
jne 0x10061519
cmp dword [ebp - 0x24], ebx
je 0x10061519
push dword [ebp - 0x24]
call fcn.1007de95
pop ecx
mov esi, dword [ebp - 0x64]
cmp esi, ebx
jne 0x10061552
cmp dword [0x101af4e8], ebx
je 0x100615ae
lea eax, [ebp - 0x484]
push eax
push dword [ebp + 0xc]
call fcn.100678f8
pop ecx
test eax, eax
pop ecx
jne 0x100615ae
push 0x5e2
push 0x1c
call fcn.100680dd
pop ecx
or esi, 0xffffffff
pop ecx
cmp dword [ebp - 0x3c], ebx
je 0x10061563
push 1
push dword [ebp + 0xc]
call fcn.10073484
pop ecx
pop ecx
cmp dword [ebp - 0x30], ebx
je 0x1006159c
push dword [ebp + 0xc]
lea eax, [ebp - 0xdf4]
push eax
call fcn.10073812
pop ecx
test eax, eax
pop ecx
jne 0x1006159c
or esi, 0xffffffff
cmp dword [ebp + 0x18], ebx
je 0x1006159c
lea eax, [ebp - 0xdf4]
push 0x103
push eax
push dword [ebp + 0x18]
call fcn.1007e246
add esp, 0xc
cmp dword [ebp - 0x28], ebx
je 0x100615aa
push dword [ebp - 0x28]
call fcn.1007de95
pop ecx
mov eax, esi
jmp 0x100615ec
cmp dword [ebp - 0x28], ebx
je 0x100615c4
push dword [ebp - 0x50]
push dword [ebp - 0x28]
push dword [ebp + 0xc]
call fcn.100678ab
add esp, 0xc
cmp dword [ebp - 0x30], ebx
je 0x1006159c
lea eax, [ebp - 0xdf4]
push 1
push eax
call fcn.10073484
pop ecx
pop ecx
jmp 0x1006159c
push 0x3ee
push 1
call fcn.100680dd
pop ecx
pop ecx
push 1
pop eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret