Function at 0x45ef2f55
Capabilities:
Contain obfuscated stackstrings
Get file size

Disassembly:
push 0x348
mov eax, 0x45fdf991
call fcn.45fb1a35
mov esi, ecx
mov eax, dword [esi]
call dword [eax + 0x5c]
test al, al
je 0x45ef2f83
push 0x185
push 0x45dcda10
push 0x80070057
call fcn.45f85378
lea eax, [ebp - 0xb4]
push eax
mov ecx, esi
call fcn.45ef2ec5
pop ecx
and dword [ebp - 4], 0
lea eax, [ebp - 0x1a4]
push eax
call fcn.45e2774a
mov ebx, eax
mov byte [ebp - 4], 1
lea eax, [ebp - 0x12c]
push eax
call fcn.45e27ed9
mov byte [ebp - 4], 2
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x2a0]
push eax
lea ecx, [ebp - 0xb4]
call fcn.45e26308
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x12c]
call fcn.45e27f32
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1a4]
call fcn.45e277ac
push 0xfffffffffffffffe
pop esi
mov dword [ebp - 0x264], esi
lea eax, [ebp - 0x88]
push eax
call fcn.45e281af
mov byte [ebp - 4], 6
lea eax, [ebp - 0x2a0]
push eax
mov edi, dword [ebp - 0x80]
lea eax, [ebp - 0x88]
call fcn.45e19b36
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.45e897fc
mov byte [ebp - 4], 7
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0xb4]
call fcn.45f42c59
mov byte [ebp - 4], 8
mov ecx, eax
call fcn.45f33187
mov byte [ebp - 0x12], al
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
pop ecx
xor ebx, ebx
cmp byte [ebp - 0x12], bl
je 0x45ef3073
lea eax, [ebp - 0x104]
push eax
xor ecx, ecx
call fcn.45e14449
push 1
push 0xffffcdff
push ebx
push ebx
push ebx
push 2
mov edx, dword [0x4603ba4c]
add edx, 0x594
lea ecx, [ebp - 0xb4]
call fcn.45de627f
mov dword [ebp - 0x24], eax
mov ecx, eax
test al, al
jns 0x45ef30a1
xor ecx, ecx
shr ecx, 5
and cl, 1
mov byte [ebp - 0x12], cl
je 0x45ef316d
test eax, 0x100
jne 0x45ef316d
lea eax, [ebp - 0x34c]
push eax
lea ecx, [ebp - 0xb4]
call fcn.45f3fa46
mov byte [ebp - 4], 9
mov edx, dword [eax]
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, eax
call dword [edx + 0x24]
mov byte [ebp - 4], 0xa
push 1
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x4603ba4c]
add eax, 0x594
push eax
call fcn.45ddb333
mov edi, eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
pop ecx
mov byte [ebp - 4], 7
lea eax, [ebp - 0x34c]
push eax
call fcn.45e284c6
lea eax, [ebp - 0x120]
push eax
call fcn.45e11a70
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x120]
call fcn.45e11c6d
mov ecx, dword [0x4603ba4c]
add ecx, 0xc0
mov eax, dword [ecx]
push esi
push ebx
lea edx, [ebp - 0x120]
push edx
push edi
call dword [eax + 4]
mov byte [ebp - 0xec], 1
mov byte [ebp - 4], 7
lea eax, [ebp - 0x120]
push eax
call fcn.45e11aad
mov eax, dword [0x4603911c]
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x20]
push eax
call fcn.45ef2733
pop ecx
mov byte [ebp - 0x11], bl
mov eax, dword [0x4603911c]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0xb4]
call fcn.45f42c59
mov byte [ebp - 4], 0xe
mov ecx, eax
call fcn.45f33187
mov byte [ebp - 0x19], al
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x70]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
pop ecx
cmp byte [ebp - 0x19], bl
je 0x45ef3258
lea ecx, [ebp - 0xb4]
call fcn.45ef2588
mov esi, eax
mov dword [ebp - 0x30], esi
cmp esi, 0xffffffff
je 0x45ef3258
mov dword [ebp - 0x108], esi
mov byte [ebp - 4], 0xf
or dword [ebp - 0x58], 0xffffffff
lea eax, [ebp - 0x58]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, 0xffffffff
je 0x45ef3240
cmp eax, ebx
je 0x45ef3240
cmp dword [ebp - 0x58], ebx
jne 0x45ef3240
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0xb4]
call fcn.45ef2bff
mov dword [ebp - 4], 0xf
jmp 0x45ef3248
lea ecx, [ebp - 0x18]
call fcn.45f8f38d
mov byte [ebp - 4], 0xd
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [ebp - 0x11], bl
jne 0x45ef32c5
lea eax, [ebp - 0x18]
push eax
mov esi, dword [ebp - 0x20]
mov ecx, esi
call fcn.45e26b5c
test eax, eax
jne 0x45ef326f
cmp byte [ebp - 0x12], bl
jne 0x45ef327c
mov eax, dword [ebp - 0x18]
cmp dword [eax - 8], ebx
jne 0x45ef32c5
cmp dword [esi - 8], ebx
jne 0x45ef32c5
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
pop ecx
pop ecx
mov byte [ebp - 4], 6
lea eax, [ebp - 0x104]
push eax
call fcn.45e89899
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x88]
call fcn.45e28075
mov byte [ebp - 4], bl
jmp 0x45ef3891
cmp byte [ebp - 0x12], bl
je 0x45ef34cb
test byte [ebp - 0x24], 2
jne 0x45ef34cb
mov byte [ebp - 0x11], 1
mov dword [ebp - 0x5c], ebx
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0xe8]
push eax
call fcn.45e26173
mov byte [ebp - 4], 0x14
mov eax, dword [0x4603911c]
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x2e0]
push eax
call fcn.45e27f79
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x248]
push eax
call fcn.45e2853c
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x144]
call fcn.45e279d0
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x18c]
push eax
call fcn.45e26140
mov byte [ebp - 4], 0x19
mov eax, dword [0x4603911c]
mov dword [ebp - 0x60], eax
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x1f4]
push eax
call fcn.45e55282
mov byte [ebp - 4], 0x1b
mov ecx, dword [0x4603ba4c]
add ecx, 0x594
mov eax, dword [ecx]
push ebx
lea edx, [ebp - 0x5c]
push edx
push ebx
push 1
push ebx
push ebx
lea edx, [ebp - 0x1f4]
push edx
lea edx, [ebp - 0x60]
push edx
push 0x24
lea edx, [ebp - 0x18c]
push edx
lea edx, [ebp - 0x144]
push edx
lea edx, [ebp - 0x248]
push edx
lea edx, [ebp - 0x2e0]
push edx
lea edx, [ebp - 0x34]
push edx
lea edx, [ebp - 0xe8]
push edx
lea edx, [ebp - 0x88]
push edx
call dword [eax + 0x2c]
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x1f4]
push eax
call fcn.45e552e8
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
pop ecx
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x18c]
push eax
call fcn.45e25fec
mov byte [ebp - 4], 0x17
lea esi, [ebp - 0x144]
call fcn.45e27d1c
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x248]
push eax
call fcn.45e284c6
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x2e0]
call fcn.45e276d5
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
pop ecx
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0xe8]
push eax
call fcn.45dda840
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x5c]
push eax
call fcn.45df1a56
mov ecx, dword [0x4603ba4c]
add ecx, 0x594
mov eax, dword [ecx]
lea edx, [ebp - 0xb4]
push edx
call dword [eax + 0x128]
test al, al
je 0x45ef34ee
cmp byte [ebp - 0x11], bl
je 0x45ef34d3
mov eax, dword [0x4603911c]
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0xb4]
call fcn.45f3ce4d
mov byte [ebp - 4], 0x1d
push dword [eax]
push 0x1803
lea eax, [ebp - 0x44]
push eax
call fcn.45f905c6
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x6c]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
push ebx
push 0x11
push 0x45dcda48
push dword [ebp - 0x44]
call fcn.45f2fb47
add esp, 0x20
push 0x223
push 0x45dcda10
push 0x80004005
jmp 0x45ef2f7e
mov byte [ebp - 0x11], bl
jmp 0x45ef343d
mov ecx, dword [0x4603ba4c]
add ecx, 0x594
mov eax, dword [ecx]
lea edx, [ebp - 0xb4]
push edx
call dword [eax + 0x12c]
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0xb4]
call fcn.45ef2b47
pop ecx
mov dword [ebp - 4], 0xd
xor esi, esi
cmp byte [ebp - 0x12], bl
je 0x45ef3521
cmp byte [ebp - 0x11], bl
jne 0x45ef35a2
push 4
pop esi
jmp 0x45ef35a2
mov dword [ebp - 0x28], ebx
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x64]
push eax
call fcn.45efaa70
pop ecx
mov byte [ebp - 4], 0x29
lea edi, [ebp - 0x28]
call fcn.45f41bd2
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x64]
call fcn.45e26349
cmp dword [ebp - 0x28], ebx
je 0x45ef36e2
mov al, byte [0x4603ba49]
test al, al
jne 0x45ef354a
push dword [ebp - 0x28]
lea eax, [ebp - 0x4c]
push eax
call fcn.45e11a3e
mov byte [ebp - 4], 0x2a
mov ecx, dword [0x4603ba4c]
add ecx, 0x594
mov eax, dword [ecx]
push ebx
push ebx
lea edx, [ebp - 0x88]
push edx
push dword [ebp - 0x4c]
call dword [eax + 0x74]
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x4c]
push eax
call fcn.45df1a56
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x28]
call fcn.45e26349
mov dword [ebp - 0x48], ebx
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0xdc]
push eax
call fcn.45e26173
mov byte [ebp - 4], 0x2d
lea eax, [ebp - 0x320]
push eax
call fcn.45e27f79
mov byte [ebp - 4], 0x2e
mov eax, dword [0x4603911c]
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x174]
call fcn.45e279d0
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x15c]
push eax
call fcn.45e26140
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x21c]
push eax
call fcn.45e55282
mov byte [ebp - 4], 0x32
mov eax, dword [0x4603911c]
mov dword [ebp - 0x38], eax
mov byte [ebp - 4], 0x33
mov ecx, dword [0x4603ba4c]
add ecx, 0x594
mov eax, dword [ecx]
lea edx, [ebp - 0x48]
push edx
push ebx
lea edx, [ebp - 0x21c]
push edx
lea edx, [ebp - 0x38]
push edx
push esi
lea edx, [ebp - 0x15c]
push edx
lea edx, [ebp - 0x174]
push edx
lea edx, [ebp - 0x40]
push edx
lea edx, [ebp - 0x320]
push edx
lea edx, [ebp - 0xdc]
push edx
lea edx, [ebp - 0x88]
push edx
call dword [eax + 0x28]
mov byte [ebp - 4], 0x32
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
pop ecx
mov byte [ebp - 0xec], 1
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x21c]
push eax
call fcn.45e552e8
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x15c]
push eax
call fcn.45e25fec
mov byte [ebp - 4], 0x2f
lea esi, [ebp - 0x174]
call fcn.45e27d1c
mov byte [ebp - 4], 0x2e
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
pop ecx
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x320]
call fcn.45e276d5
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0xdc]
push eax
call fcn.45dda840
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x48]
push eax
call fcn.45df1a56
jmp 0x45ef327c
mov dword [ebp - 0x54], ebx
lea eax, [ebp - 0x54]
push eax
push 0x26c
push 0x45dcda10
mov esi, 0x80004005
push esi
call fcn.45f85675
add esp, 0x10
mov dword [ebp - 0xc4], 0x45dc096c
mov dword [ebp - 0xc0], esi
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], ebx
push 0x45ff0f98
lea eax, [ebp - 0xc4]
push eax
call fcn.45fb1416
xor ebx, ebx
cmp byte [ebp - 0x11], bl
je 0x45ef37dd
mov dword [ebp - 0x24], ebx
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0xd0]
push eax
call fcn.45e26173
mov byte [ebp - 4], 0x22
mov eax, dword [0x4603911c]
mov dword [ebp - 0x50], eax
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x1cc]
push eax
call fcn.45e55282
mov byte [ebp - 4], 0x24
mov ecx, dword [0x4603ba4c]
add ecx, 0x594
mov eax, dword [ecx]
lea edx, [ebp - 0x24]
push edx
push ebx
lea edx, [ebp - 0x1cc]
push edx
lea edx, [ebp - 0x50]
push edx
push ebx
lea edx, [ebp - 0xd0]
push edx
lea edx, [ebp - 0x88]
push edx
call dword [eax + 0x6c]
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x1cc]
push eax
call fcn.45e552e8
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
pop ecx
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0xd0]
push eax
call fcn.45dda840
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x24]
push eax
call fcn.45df1a56
mov eax, dword [0x4603911c]
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0xb4]
call fcn.45f3ce4d
mov byte [ebp - 4], 0x26
push dword [eax]
push 0x1804
lea eax, [ebp - 0x2c]
push eax
call fcn.45f905c6
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x68]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
push ebx
push 0x11
push 0x45dc6940
push dword [ebp - 0x2c]
call fcn.45f2fb47
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff4
push eax
call fcn.45f8f362
add esp, 0x24
mov dword [ebp - 4], 0xd
mov eax, 0x45ef384c
ret
lea ecx, [ebp - 0x2a0]
call fcn.45e267b6
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xb4]
push eax
call fcn.45e284c6
call fcn.45fb1ae9
ret