Function at 0x48bb0b
Capabilities:
Parse credit card information
Parse pe header
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0x18c
push ebx
push esi
lea eax, [ebp + 0x74]
push edi
push eax
mov dword [ebp + 0x50], ecx
call fcn.0043dae7
mov al, byte [ebp + 0x7c]
xor ebx, ebx
cmp al, 1
pop ecx
mov byte [ebp + 0x4b], al
jne 0x48bb35
mov byte [ebp + 0x4b], bl
lea ecx, [ebp + 0x10]
sete byte [ebp + 0x7c]
call fcn.00443f5b
lea ecx, [ebp + 0x1c]
call fcn.00443f5b
lea eax, [ebp + 0x74]
push eax
call fcn.0043dae7
cmp byte [ebp + 0x7c], 0
pop ecx
je 0x48bb5d
sub dword [ebp + 0x74], 2
push 0x3d
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.00446d58
add esp, 0xc
cmp byte [ebp + 0x7c], 0
je 0x48bb7d
mov eax, dword [ebp + 0x10]
mov word [eax], 0x26
mov ecx, dword [ebp + 0x50]
push ebx
lea eax, [ebp + 0x10]
push eax
call fcn.00402eb0
movsx eax, byte [ebp + 0x7c]
mov dword [ebp + 0x18], eax
lea edi, [eax + eax]
mov eax, dword [ebp + 0x10]
add eax, edi
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x74]
cmp word [eax], 0x3d
je 0x48bbaf
mov esi, 0x80070057
jmp 0x48bd38
add dword [ebp + 0x74], 2
push 0x3b
push 0x2c
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.00446dab
mov eax, dword [ebp + 0x74]
mov si, word [eax]
add esp, 0x10
cmp si, 0x2c
je 0x48bbd9
cmp si, 0x3b
jne 0x48bbdd
add dword [ebp + 0x74], 2
cmp byte [ebp + 0x4b], 0
mov byte [ebp + 0x57], 0
jne 0x48bd54
push dword [ebp + 0x1c]
push str.WINVER
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x48bc19
push dword [ebp + 0x1c]
push 0x4c8498
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48bd54
mov byte [ebp + 0x57], 0x2a
lea eax, [ebp + 0x74]
push eax
call fcn.0043dae7
mov eax, dword [ebp + 0x74]
xor esi, esi
xor edi, edi
cmp word [eax], 0x5e
pop ecx
mov dword [ebp + 0x3c], ebx
jne 0x48bc3c
or dword [ebp + 0x3c], 0xffffffff
inc eax
inc eax
mov dword [ebp + 0x74], eax
cmp word [eax], 0x2b
jne 0x48bc61
lea ecx, [eax + 2]
cmp word [ecx], bx
mov byte [ebp + 0x57], 1
jne 0x48bc5c
mov word [eax], 0x2a
mov eax, dword [ebp + 0x74]
mov byte [ebp + 0x57], 0x2a
jmp 0x48bc61
mov eax, ecx
mov dword [ebp + 0x74], eax
xor ecx, ecx
mov cx, word [eax]
cmp cx, bx
mov dword [ebp + 0xc], ecx
jne 0x48bc78
cmp byte [ebp + 0x57], 0
je 0x48bcfc
mov dword [ebp + 0x7c], ebx
cmp word [eax], 0x2a
je 0x48bc87
cmp byte [ebp + 0x57], 0x2a
jne 0x48bcd4
mov eax, dword [ebp + 0x50]
cmp byte [eax + 0x92], 0
push 0x12
pop ecx
mov esi, str._SystemRoot_System32kernel32.dll
lea edi, [ebp - 0x60]
rep movsd dword es:[edi], dword [esi]
jne 0x48bcbb
test byte [eax + 9], 0xf
jne 0x48bcbb
mov ecx, dword [ebp + 0x50]
push 1
push ebx
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.00454ae5
jmp 0x48bcce
mov ecx, dword [ebp + 0x50]
push 1
push ebx
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.004537c3
mov eax, dword [ebp + 0x7c]
mov dword [ebp + 0x74], eax
push 1
push ebx
push ebx
push dword [ebp + 0x3c]
push eax
call fcn.00407c9c
add esp, 0x14
lea ecx, [ebp + 0x7c]
mov esi, eax
mov edi, edx
call fcn.0043db4f
cmp byte [ebp + 0x57], 0
jne 0x48bcfc
cmp word [ebp + 0xc], bx
jne 0x48bd21
mov dword [ebp + 0x20], esi
mov dword [ebp + 0x24], edi
call fcn.0044085f
cmp byte [ebp + 0x57], 0
mov esi, eax
mov edi, edx
je 0x48bd21
movzx eax, word [ebp + 0x20]
shld edi, esi, 0x10
cdq
shl esi, 0x10
or esi, eax
or edi, edx
push str.0x_I64X
push dword [ebp + 0x38]
push edi
push esi
push dword [ebp + 0x50]
call fcn.0044652a
add esp, 0x14
xor esi, esi
lea ecx, [ebp + 0x1c]
call fcn.0043db4f
lea ecx, [ebp + 0x10]
call fcn.0043db4f
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x6c
leave
ret 0xc
push dword [ebp + 0x1c]
push str.ispe
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48bd7d
push dword [ebp + 0x38]
call fcn.0040a1b6
push eax
push dword [ebp + 0x50]
call fcn.004465af
add esp, 0xc
jmp 0x48bd36
cmp si, bx
je 0x48bd8c
cmp si, 0x2c
jne 0x48bba5
cmp byte [ebp + 0x4b], 0
je 0x48bd9c
cmp byte [ebp + 0x4b], 2
jne 0x48c34c
push dword [ebp + 0x10]
lea ecx, [ebp + 0x44]
call fcn.0044cd74
cmp byte [ebp + 0x7c], 0
mov esi, dword [ebp + 0x44]
je 0x48bdb5
mov word [esi], 0x26
lea eax, [ebp + 0x74]
push eax
call fcn.0043dae7
push dword [ebp + 0x1c]
push str.FVER
call fcn.0043ef29
add esp, 0xc
test al, al
je 0x48becf
lea ecx, [ebp + 0x60]
call fcn.00443f5b
push dword [ebp + 0x74]
mov dword [ebp + 0x5c], ebx
call fcn.00412ae5
push 0x3b
mov dword [ebp + 0x74], eax
lea eax, [ebp + 0x7c]
push 0x2c
push eax
mov dword [ebp + 0x20], 1
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x64], ebx
mov dword [ebp + 0x7c], esi
xor edi, edi
call fcn.0043e06b
mov eax, dword [ebp + 0x7c]
add esp, 0x10
cmp word [eax], bx
je 0x48be3b
mov word [eax], bx
inc eax
inc eax
push 0x3b
mov dword [ebp + 0x7c], eax
push 0x2c
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.00446dab
mov eax, dword [ebp + 0x64]
mov di, word [eax]
mov eax, dword [ebp + 0x7c]
add esp, 0x10
mov dword [ebp + 0x38], ebx
cmp word [eax], bx
je 0x48be5a
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x7c], eax
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.0048ba93
pop ecx
pop ecx
push dword [ebp + 0x20]
lea eax, [ebp + 0x38]
push eax
mov ax, di
neg ax
lea ecx, [ebp + 0x5c]
sbb eax, eax
and eax, ecx
push eax
mov ax, word [esi]
neg ax
lea ecx, [ebp + 0x60]
sbb eax, eax
and eax, ecx
push eax
push dword [ebp + 0x74]
call fcn.00407c9c
mov ecx, dword [ebp + 0x50]
add esp, 0x14
push dword [ebp + 0x60]
push esi
call fcn.00443666
cmp di, bx
je 0x48bea7
push dword [ebp + 0x5c]
mov ecx, dword [ebp + 0x50]
push dword [ebp + 0x64]
call fcn.00443666
mov esi, dword [ebp + 0x38]
lea ecx, [ebp + 0x64]
call fcn.0043db4f
lea ecx, [ebp + 0x5c]
call fcn.0043db4f
lea ecx, [ebp + 0x60]
call fcn.0043db4f
lea ecx, [ebp + 0x44]
call fcn.0043db4f
jmp 0x48bd38
push dword [ebp + 0x1c]
push str.FTIME
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48c10a
push dword [ebp + 0x74]
call fcn.00412ae5
pop ecx
lea ecx, [ebp + 0x58]
mov dword [ebp + 0x38], eax
call fcn.00443f5b
lea ecx, [ebp + 0x60]
call fcn.00443f5b
lea ecx, [ebp + 0x4c]
call fcn.00443f5b
lea eax, [edi + esi]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x3c], ebx
jmp 0x48bfae
push 6
lea eax, [ebp + 0x68]
push eax
push str._local
call fcn.00445f31
add esp, 0xc
test al, al
je 0x48bf47
cmp byte [ebp + 0x7c], 0
je 0x48bf41
sub dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
mov word [eax], 0x26
or byte [ebp + 0x7c], 2
jmp 0x48bfab
push 3
lea eax, [ebp + 0x68]
push eax
push 0x4c688c
call fcn.00445f31
add esp, 0xc
test al, al
je 0x48bf64
or byte [ebp + 0x7c], 4
jmp 0x48bfab
push 4
lea eax, [ebp + 0x68]
push eax
push str._ws1
call fcn.00445f31
add esp, 0xc
test al, al
je 0x48bf81
or byte [ebp + 0x7c], 8
jmp 0x48bfab
push 5
lea eax, [ebp + 0x68]
push eax
push str._link
call fcn.00445f31
add esp, 0xc
test al, al
je 0x48bfa1
mov dword [ebp + 0x3c], 1
jmp 0x48bfab
lea eax, [ebp + 0x68]
push eax
call fcn.00408ddd
pop ecx
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x2d
je 0x48bf18
cmp byte [ebp + 0x7c], 0
je 0x48bfc3
mov word [esi], 0x26
push 0x2c
pop esi
push esi
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00446d58
mov eax, dword [ebp + 0x68]
add esp, 0xc
cmp word [eax], si
jne 0x48bff4
add dword [ebp + 0x68], 2
push esi
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00446d58
add esp, 0xc
mov eax, dword [ebp + 0x68]
cmp word [eax], si
jne 0x48c011
add dword [ebp + 0x68], 2
push esi
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00446d58
add esp, 0xc
xor edi, edi
cmp dword [ebp + 0x3c], ebx
lea esi, [ebp - 0xa0]
je 0x48c059
push ebx
push ebx
push 3
push ebx
push 3
push 0x80000000
push dword [ebp + 0x38]
lea ecx, [ebp + 0x64]
mov dword [ebp + 0x64], ebx
call fcn.0040569f
cmp dword [ebp + 0x64], ebx
je 0x48c04c
lea eax, [ebp - 0x4c]
push eax
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
mov edi, eax
lea ecx, [ebp + 0x64]
lea esi, [ebp - 0x4c]
call fcn.00402cb5
jmp 0x48c06c
lea eax, [ebp - 0xa0]
push eax
push ebx
push dword [ebp + 0x38]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
mov edi, eax
cmp edi, ebx
je 0x48c0c1
push dword [ebp + 0x7c]
lea eax, [esi + 4]
push eax
push dword [ebp + 0x58]
push dword [ebp + 0x50]
call fcn.0044791d
push dword [ebp + 0x7c]
lea eax, [esi + 0x14]
push eax
push dword [ebp + 0x60]
push dword [ebp + 0x50]
call fcn.0044791d
push dword [ebp + 0x7c]
add esi, 0xc
push esi
push dword [ebp + 0x4c]
push dword [ebp + 0x50]
call fcn.0044791d
add esp, 0x30
lea ecx, [ebp + 0x4c]
call fcn.0043db4f
lea ecx, [ebp + 0x60]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
jmp 0x48c2ce
mov ecx, dword [ebp + 0x50]
mov esi, 0x4bca0c
push esi
push dword [ebp + 0x58]
call fcn.00443666
mov ecx, dword [ebp + 0x50]
push esi
push dword [ebp + 0x60]
call fcn.00443666
mov ecx, dword [ebp + 0x50]
push esi
push dword [ebp + 0x4c]
call fcn.00443666
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp + 0x4c]
mov esi, eax
call fcn.0043db4f
lea ecx, [ebp + 0x60]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
jmp 0x48bebd
push dword [ebp + 0x1c]
push str.FATTR
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48c344
push dword [ebp + 0x74]
call fcn.00412ae5
cmp byte [ebp + 0x7c], 0
pop ecx
mov edi, eax
je 0x48c137
mov word [esi], 0x26
lea ecx, [ebp + 0x64]
call fcn.00443f5b
lea ecx, [ebp + 0x58]
call fcn.00443f5b
lea ecx, [ebp + 0x60]
call fcn.00443f5b
lea ecx, [ebp + 0x4c]
call fcn.00443f5b
lea ecx, [ebp + 0x5c]
call fcn.00443f5b
push 0x2c
mov dword [ebp + 0x68], esi
pop esi
push esi
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00446d58
mov eax, dword [ebp + 0x68]
add esp, 0xc
cmp word [eax], si
jne 0x48c226
cmp byte [ebp + 0x7c], 0
je 0x48c18f
mov word [eax], 0x26
jmp 0x48c194
inc eax
inc eax
mov dword [ebp + 0x68], eax
push esi
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00446d58
mov eax, dword [ebp + 0x68]
add esp, 0xc
cmp word [eax], si
jne 0x48c226
cmp byte [ebp + 0x7c], 0
je 0x48c1ba
mov word [eax], 0x26
jmp 0x48c1bf
inc eax
inc eax
mov dword [ebp + 0x68], eax
push esi
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00446d58
mov eax, dword [ebp + 0x68]
add esp, 0xc
cmp word [eax], si
jne 0x48c226
cmp byte [ebp + 0x7c], 0
je 0x48c1e5
mov word [eax], 0x26
jmp 0x48c1ea
inc eax
inc eax
mov dword [ebp + 0x68], eax
push esi
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00446d58
mov eax, dword [ebp + 0x68]
add esp, 0xc
cmp word [eax], si
jne 0x48c226
cmp byte [ebp + 0x7c], 0
je 0x48c210
mov word [eax], 0x26
jmp 0x48c215
inc eax
inc eax
mov dword [ebp + 0x68], eax
push esi
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00446d58
add esp, 0xc
lea eax, [ebp - 0x18]
push eax
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
je 0x48c2e0
mov eax, dword [ebp - 0x18]
push dword [ebp + 0x64]
mov esi, dword [ebp + 0x50]
xor edi, edi
shr eax, 5
inc edi
and eax, edi
push eax
push esi
call fcn.004465af
mov eax, dword [ebp - 0x18]
push dword [ebp + 0x58]
shr eax, 1
and eax, edi
push eax
push esi
call fcn.004465af
mov eax, dword [ebp - 0x18]
push dword [ebp + 0x60]
and eax, edi
push eax
push esi
call fcn.004465af
mov eax, dword [ebp - 0x18]
push dword [ebp + 0x4c]
shr eax, 2
and eax, edi
push eax
push esi
call fcn.004465af
push dword [ebp - 0x18]
lea eax, [ebp - 0x7c]
push str.0x_lX
push eax
mov word [ebp - 0x7c], bx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x3c
lea eax, [ebp - 0x7c]
push eax
push dword [ebp + 0x5c]
mov ecx, esi
call fcn.00443666
lea ecx, [ebp + 0x5c]
call fcn.0043db4f
lea ecx, [ebp + 0x4c]
call fcn.0043db4f
lea ecx, [ebp + 0x60]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
call fcn.0043db4f
lea ecx, [ebp + 0x64]
call fcn.0043db4f
lea ecx, [ebp + 0x44]
call fcn.0043db4f
jmp 0x48bd36
mov edi, dword [ebp + 0x50]
mov esi, 0x4bca0c
push esi
push dword [ebp + 0x64]
mov ecx, edi
call fcn.00443666
push esi
push dword [ebp + 0x58]
mov ecx, edi
call fcn.00443666
push esi
push dword [ebp + 0x60]
mov ecx, edi
call fcn.00443666
push esi
push dword [ebp + 0x4c]
mov ecx, edi
call fcn.00443666
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp + 0x5c]
mov esi, eax
call fcn.0043db4f
lea ecx, [ebp + 0x4c]
call fcn.0043db4f
lea ecx, [ebp + 0x60]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
call fcn.0043db4f
lea ecx, [ebp + 0x64]
jmp 0x48bebd
lea ecx, [ebp + 0x44]
call fcn.0043db4f
cmp byte [ebp + 0x4b], 0
jne 0x48bd36
push dword [ebp + 0x10]
lea ecx, [ebp + 0x44]
call fcn.0044cd74
lea eax, [ebp + 0x74]
push eax
call fcn.0043dae7
mov esi, dword [ebp + 0x1c]
push esi
push str.DROPFILE
call fcn.0043ef29
add esp, 0xc
test al, al
je 0x48c45c
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x74]
push eax
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x34], ebx
call fcn.00450152
pop ecx
pop ecx
lea ecx, [ebp + 0x60]
call fcn.00443f5b
lea ecx, [ebp + 0x4c]
call fcn.00443f5b
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x5c], eax
push 0x2c
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp + 0x5c]
push eax
call fcn.00446d58
mov eax, dword [ebp + 0x5c]
add esp, 0xc
cmp word [eax], 0x2c
jne 0x48c3ed
cmp byte [ebp + 0x7c], 0
je 0x48c3d6
mov word [eax], 0x26
jmp 0x48c3db
inc eax
inc eax
mov dword [ebp + 0x5c], eax
push 0x2c
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x5c]
push eax
call fcn.00446d58
add esp, 0xc
lea ecx, [ebp + 0x64]
call fcn.00443f5b
lea ecx, [ebp + 0x28]
call fcn.00443f5b
mov esi, dword [ebp + 0x4c]
xor eax, eax
cmp word [esi], bx
je 0x48c40a
lea eax, [ebp + 0x28]
mov ecx, dword [ebp + 0x30]
or ecx, dword [ebp + 0x34]
je 0x48c422
push eax
lea eax, [ebp + 0x64]
push eax
push dword [ebp + 0x30]
call fcn.0040496e
add esp, 0xc
push dword [ebp + 0x64]
mov ecx, dword [ebp + 0x50]
push dword [ebp + 0x60]
call fcn.00443666
push dword [ebp + 0x28]
mov ecx, dword [ebp + 0x50]
push esi
call fcn.00443666
lea ecx, [ebp + 0x28]
call fcn.0043db4f
lea ecx, [ebp + 0x64]
call fcn.0043db4f
lea ecx, [ebp + 0x4c]
call fcn.0043db4f
lea ecx, [ebp + 0x60]
jmp 0x48c2ce
push esi
push str.FPOS
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48c666
push dword [ebp + 0x74]
call fcn.00412ae5
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x64]
push eax
call fcn.0043dae7
push dword [ebp + 0x64]
call fcn.004108af
add esp, 0xc
lea ecx, [ebp + 0x40]
call fcn.00443f5b
lea eax, [ebp + 0x40]
push eax
push dword [ebp + 0x64]
call fcn.00412e7f
mov bl, byte [ebp + 0x7c]
test bl, bl
mov eax, dword [ebp + 0x40]
mov esi, dword [ebp + 0x44]
pop ecx
pop ecx
push 0x26
mov dword [ebp + 0x64], eax
pop edi
je 0x48c4bc
mov word [esi], di
lea ecx, [ebp + 0x2c]
call fcn.00443f5b
lea ecx, [ebp + 0x68]
call fcn.00443f5b
lea ecx, [ebp + 0x58]
call fcn.00443f5b
lea ecx, [ebp + 0x60]
call fcn.00443f5b
lea ecx, [ebp + 0x4c]
call fcn.00443f5b
lea ecx, [ebp + 0x5c]
call fcn.00443f5b
lea ecx, [ebp + 0x28]
call fcn.00443f5b
push 0x2c
mov dword [ebp + 0x7c], esi
pop esi
push esi
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.00446d58
mov eax, dword [ebp + 0x7c]
add esp, 0xc
cmp word [eax], si
jne 0x48c601
test bl, bl
je 0x48c520
mov word [eax], di
jmp 0x48c525
inc eax
inc eax
mov dword [ebp + 0x7c], eax
push esi
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.00446d58
mov eax, dword [ebp + 0x7c]
add esp, 0xc
cmp word [eax], si
jne 0x48c601
test bl, bl
je 0x48c54b
mov word [eax], di
jmp 0x48c550
inc eax
inc eax
mov dword [ebp + 0x7c], eax
push esi
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.00446d58
mov eax, dword [ebp + 0x7c]
add esp, 0xc
cmp word [eax], si
jne 0x48c601
test bl, bl
je 0x48c576
mov word [eax], di
jmp 0x48c57b
inc eax
inc eax
mov dword [ebp + 0x7c], eax
push esi
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.00446d58
mov eax, dword [ebp + 0x7c]
add esp, 0xc
cmp word [eax], si
jne 0x48c601
test bl, bl
je 0x48c59d
mov word [eax], di
jmp 0x48c5a2
inc eax
inc eax
mov dword [ebp + 0x7c], eax
push esi
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.00446d58
mov eax, dword [ebp + 0x7c]
add esp, 0xc
cmp word [eax], si
jne 0x48c601
test bl, bl
je 0x48c5c4
mov word [eax], di
jmp 0x48c5c9
inc eax
inc eax
mov dword [ebp + 0x7c], eax
push esi
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.00446d58
mov eax, dword [ebp + 0x7c]
add esp, 0xc
cmp word [eax], si
jne 0x48c601
test bl, bl
je 0x48c5eb
mov word [eax], di
jmp 0x48c5f0
inc eax
inc eax
mov dword [ebp + 0x7c], eax
push esi
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.00446d58
add esp, 0xc
push dword [ebp + 0x28]
push dword [ebp + 0x5c]
push dword [ebp + 0x4c]
push dword [ebp + 0x60]
push dword [ebp + 0x58]
push dword [ebp + 0x68]
push dword [ebp + 0x2c]
push dword [ebp + 0x64]
push dword [ebp + 0x50]
call fcn.0043c50b
add esp, 0x24
lea ecx, [ebp + 0x28]
mov esi, eax
call fcn.0043db4f
lea ecx, [ebp + 0x5c]
call fcn.0043db4f
lea ecx, [ebp + 0x4c]
call fcn.0043db4f
lea ecx, [ebp + 0x60]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
call fcn.0043db4f
lea ecx, [ebp + 0x68]
call fcn.0043db4f
lea ecx, [ebp + 0x2c]
call fcn.0043db4f
lea ecx, [ebp + 0x40]
jmp 0x48bebd
push esi
push str.PPID
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48c6a9
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x74]
push eax
mov dword [ebp + 0x20], ebx
mov dword [ebp + 0x24], ebx
call fcn.00450152
pop ecx
pop ecx
push dword [ebp + 0x44]
push dword [ebp + 0x20]
call fcn.00404dde
pop ecx
push eax
push dword [ebp + 0x50]
call fcn.004465af
add esp, 0xc
jmp 0x48c2d3
push esi
push str.ISADMIN
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48c6c4
push dword [ebp + 0x44]
call fcn.00498096
jmp 0x48c698
push esi
push str.fvar
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x48cacb
push 5
push esi
push 0x4c83e8
call dword [sym.imp.SHLWAPI.dll_StrCmpNIW]
test eax, eax
je 0x48cacb
push esi
push str.PWIN
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48c865
lea ecx, [ebp + 0x40]
call fcn.00443f5b
lea ecx, [ebp + 0x64]
call fcn.00443f5b
mov eax, dword [ebp + 0x44]
push ebx
mov dword [ebp + 0x3c], eax
push 0x2c
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x3c]
push eax
call fcn.00438e04
push 0x2c
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp + 0x3c]
push eax
call fcn.00446d58
add esp, 0x1c
lea eax, [ebp + 0x30]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x74]
push eax
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
call fcn.0040567a
test eax, eax
pop ecx
pop ecx
je 0x48c765
mov eax, dword [ebp + 0x14]
mov dword [ebp + 0x30], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.0040567a
test eax, eax
pop ecx
pop ecx
je 0x48c77e
mov eax, dword [ebp + 0x14]
mov dword [ebp + 0x34], eax
mov esi, dword [ebp + 0x30]
mov edi, dword [ebp + 0x34]
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x74]
push eax
mov dword [ebp + 0x14], 3
mov dword [ebp + 0x18], ebx
call fcn.0040567a
pop ecx
pop ecx
push dword [ebp + 0x34]
push dword [ebp + 0x30]
call dword [sym.imp.USER32.dll_WindowFromPoint]
cmp eax, ebx
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x5c], eax
je 0x48c82f
cmp dword [ebp + 0x14], 3
jne 0x48c7c8
cmp dword [ebp + 0x18], 0
jne 0x48c7c8
mov eax, dword [ebp + 0x64]
cmp word [eax], 0
je 0x48c82f
mov ebx, dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xfffffffffffffff0
push dword [ebp + 0x7c]
jmp 0x48c7e8
push dword [ebp + 0x5c]
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
je 0x48c7f1
push 0xfffffffffffffff0
mov dword [ebp + 0x5c], eax
push eax
call ebx
test eax, 0x40000000
jne 0x48c7d5
cmp dword [ebp + 0x14], 3
jne 0x48c7fd
cmp dword [ebp + 0x18], 0
je 0x48c82f
mov ebx, dword [ebp + 0x5c]
and dword [ebp + 0x20], 0
and dword [ebp + 0x24], 0
lea eax, [ebp + 0x20]
push eax
push ebx
call dword [sym.imp.USER32.dll_ClientToScreen]
push dword [ebp + 0x14]
sub edi, dword [ebp + 0x24]
sub esi, dword [ebp + 0x20]
push edi
push esi
push ebx
mov dword [ebp + 0x7c], ebx
call dword [sym.imp.USER32.dll_ChildWindowFromPointEx]
test eax, eax
je 0x48c82f
mov dword [ebp + 0x7c], eax
push dword [ebp + 0x40]
push dword [ebp + 0x7c]
push dword [ebp + 0x50]
call fcn.0044ce46
push dword [ebp + 0x64]
push dword [ebp + 0x5c]
push dword [ebp + 0x50]
call fcn.0044ce46
add esp, 0x18
lea ecx, [ebp + 0x64]
call fcn.0043db4f
lea ecx, [ebp + 0x40]
call fcn.0043db4f
xor ebx, ebx
jmp 0x48c2d3
push esi
push str.PEBIT
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x48c2d3
mov eax, dword [ebp + 0x44]
lea ecx, [ebp + 0x40]
mov dword [ebp + 0x3c], eax
call fcn.00443f5b
lea ecx, [ebp + 0x64]
call fcn.00443f5b
push ebx
push 0x2c
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x3c]
push eax
call fcn.00438e04
push 0x2c
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp + 0x3c]
push eax
call fcn.00446d58
or dword [ebp + 0x30], 0xffffffff
or dword [ebp + 0x34], 0xffffffff
push 0xd
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x74]
mov esi, 0x4bca0c
push eax
mov dword [ebp + 0x58], esi
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0xc], ebx
call fcn.00419ccc
mov eax, dword [ebp + 0x74]
add esp, 0x28
cmp word [eax], bx
je 0x48ca6e
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, dword [ebp + 0x74]
lea eax, [edx + eax*2 - 2]
mov cx, word [eax]
cmp cx, 0x5c
je 0x48c90d
cmp cx, 0x2f
je 0x48c90d
push edx
call fcn.004a9676
test eax, eax
pop ecx
je 0x48c930
jmp 0x48c910
mov word [eax], bx
push 0xffffffffffffffff
push dword [ebp + 0x74]
lea ecx, [ebp + 0x5c]
call fcn.0044407f
push str._version.dll
lea ecx, [ebp + 0x5c]
call fcn.00443fc7
mov eax, dword [ebp + 0x5c]
mov dword [ebp + 0x74], eax
push ebx
push 0x80
push 3
push ebx
push 7
push 0x80000000
push dword [ebp + 0x74]
lea ecx, [ebp + 0x60]
mov dword [ebp + 0x60], ebx
call fcn.0040569f
cmp dword [ebp + 0x60], ebx
mov dword [ebp + 0x58], esi
je 0x48ca66
mov esi, 0x1000
push esi
lea ecx, [ebp + 0x38]
mov dword [ebp + 0x7c], ebx
call fcn.00443f79
mov edi, dword [ebp + 0x38]
push esi
push ebx
push edi
call fcn.004aa020
add esp, 0xc
push ebx
lea eax, [ebp + 0x7c]
push eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
push dword [ebp + 0x60]
call esi
test eax, eax
je 0x48ca5e
cmp dword [ebp + 0x7c], 0x40
jb 0x48ca5e
cmp word [edi], 0x5a4d
jne 0x48ca5e
mov eax, dword [edi + 0x3c]
lea ecx, [eax + 8]
cmp ecx, dword [ebp + 0x7c]
jbe 0x48c9d8
push ebx
push ebx
push eax
push dword [ebp + 0x60]
mov dword [edi], ebx
mov dword [edi + 4], ebx
call fcn.0043edf6
add esp, 0x10
push ebx
lea eax, [ebp + 0x7c]
push eax
push 8
push edi
push dword [ebp + 0x60]
mov dword [ebp + 0x7c], ebx
call esi
xor eax, eax
lea ecx, [eax + 8]
cmp ecx, dword [ebp + 0x7c]
ja 0x48ca5e
mov ecx, dword [edi + eax]
mov edi, dword [edi + eax + 4]
and edi, 0xffff
mov eax, 0x4550
cmp ecx, eax
mov dword [ebp + 0x30], ecx
mov dword [ebp + 0x34], edi
jne 0x48ca2e
cmp edi, 0x8664
jne 0x48ca0d
mov dword [ebp + 0x58], 0x4c83b4
jmp 0x48ca5e
cmp ecx, eax
jne 0x48ca2e
cmp edi, 0x14c
je 0x48ca57
cmp ecx, eax
jne 0x48ca2e
cmp edi, 0x200
jne 0x48ca2e
mov dword [ebp + 0x58], str.ia64
jmp 0x48ca5e
mov eax, 0x3c05454e
cmp ecx, eax
jne 0x48ca5e
cmp edi, 0x137
je 0x48ca57
cmp ecx, eax
jne 0x48ca5e
cmp edi, 0x1b0
je 0x48ca57
cmp ecx, eax
jne 0x48ca5e
cmp edi, 0xe7
jne 0x48ca5e
mov dword [ebp + 0x58], 0x4c83a0
lea ecx, [ebp + 0x38]
call fcn.0043db4f
lea ecx, [ebp + 0x60]
call fcn.00402cb5
push dword [ebp + 0x58]
mov ecx, dword [ebp + 0x50]
push dword [ebp + 0x40]
call fcn.00443666
cmp dword [ebp + 0x34], ebx
jg 0x48ca9a
jl 0x48ca88
cmp dword [ebp + 0x30], ebx
ja 0x48ca9a
mov ecx, dword [ebp + 0x50]
push str._0x000000000001
push dword [ebp + 0x64]
call fcn.00443666
jmp 0x48cab3
push str.0x_012I64X
push dword [ebp + 0x64]
push dword [ebp + 0x34]
push dword [ebp + 0x30]
push dword [ebp + 0x50]
call fcn.0044652a
add esp, 0x14
lea ecx, [ebp + 0x5c]
call fcn.0043db4f
lea ecx, [ebp + 0x64]
call fcn.0043db4f
lea ecx, [ebp + 0x40]
jmp 0x48c2ce
mov esi, dword [ebp + 0x1c]
cmp word [esi + 8], 0x2b
lea ecx, [ebp + 0x28]
setne bl
dec bl
and ebx, 0x2b
call fcn.00443f5b
lea ecx, [ebp + 0x60]
call fcn.00443f5b
mov eax, dword [ebp + 0x44]
xor edi, edi
test bl, bl
mov dword [ebp + 0xc], edi
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x2c], 0x4bca0c
mov dword [ebp + 0x64], str.8BE4DF61_93CA_11D2_AA0D_00E098032B8C
mov byte [ebp + 0x7f], 0
je 0x48cb27
push 2
lea eax, [ebp + 0x4c]
push eax
push 0x4c767c
call fcn.00445f31
add esp, 0xc
test al, al
je 0x48cb27
mov byte [ebp + 0x7f], 1
mov eax, dword [ebp + 0x4c]
push 0x3b
mov dword [ebp + 0x38], eax
push 0x2c
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp + 0x74]
push eax
mov dword [ebp + 0x20], edi
mov dword [ebp + 0x24], edi
call fcn.00446dab
mov eax, dword [ebp + 0x74]
mov ax, word [eax]
add esp, 0x10
cmp ax, di
je 0x48cb7a
add dword [ebp + 0x74], 2
cmp ax, 0x3b
jne 0x48cb7a
push edi
push 0x2c
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.00438e04
mov eax, dword [ebp + 0x28]
add esp, 0x10
cmp word [eax], di
je 0x48cb7a
mov dword [ebp + 0x64], eax
push 0x80
push 2
push str.SeSystemEnvironmentPrivilege
call fcn.00412ebf
or dword [ebp + 0x30], 0xffffffff
or dword [ebp + 0x34], 0xffffffff
add esp, 0xc
test bl, bl
mov dword [ebp + 0x40], edi
mov dword [ebp + 0x68], edi
je 0x48cd3a
lea ecx, [ebp + 0x58]
call fcn.00443f5b
mov eax, dword [ebp + 0x4c]
cmp word [eax], di
mov dword [ebp + 0x5c], edi
je 0x48cbc6
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.004472b5
pop ecx
pop ecx
mov al, byte [ebp + 0x7f]
neg al
lea ecx, [ebp + 0x2c]
sbb eax, eax
and eax, 0x4d8d24
push eax
call fcn.00438406
cmp byte [ebp + 0x7f], 0
je 0x48cc11
mov ecx, dword [ebp + 0x50]
push edi
push 0xffffffffffffffff
push edi
push dword [ebp + 0x74]
call fcn.00410728
cmp eax, edi
mov dword [ebp + 0x74], edi
je 0x48cc08
mov ecx, dword [eax + 4]
mov dword [ebp + 0x74], ecx
mov eax, dword [eax + 0x10]
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], edi
jmp 0x48cc29
mov dword [ebp + 0x68], 1
jmp 0x48cc29
lea eax, [ebp + 0x30]
push eax
add esi, 0xa
push esi
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.0045a249
add esp, 0x10
cmp dword [ebp + 0x34], edi
jl 0x48cce1
jg 0x48cc3d
cmp dword [ebp + 0x30], edi
jb 0x48cce1
mov eax, dword [ebp + 0x38]
cmp word [eax], di
je 0x48cc99
mov eax, dword [0x4d81fc]
cmp eax, edi
mov dword [ebp + 0x68], 0x7f
jne 0x48cc7e
push edi
push 0x4d81fc
push str.Kernel32.DLL
push str.SetFirmwareEnvironmentVariableExW
call fcn.0043ef59
mov eax, dword [0x4d81fc]
add esp, 0x10
cmp eax, edi
jne 0x48cc7e
or eax, 0xffffffff
mov dword [0x4d81fc], eax
cmp eax, 0xffffffff
je 0x48cce1
push dword [ebp + 0x20]
mov dword [ebp + 0x68], edi
push dword [ebp + 0x30]
push dword [ebp + 0x74]
push dword [ebp + 0x64]
push dword [ebp + 0x60]
call eax
jmp 0x48ccde
mov eax, dword [0x4d8208]
cmp eax, edi
jne 0x48cccb
push edi
push 0x4d8208
push str.Kernel32.DLL
push str.SetFirmwareEnvironmentVariableW
call fcn.0043ef59
mov eax, dword [0x4d8208]
add esp, 0x10
cmp eax, edi
jne 0x48cccb
or eax, 0xffffffff
mov dword [0x4d8208], eax
cmp eax, 0xffffffff
je 0x48cce1
push dword [ebp + 0x30]
push dword [ebp + 0x74]
push dword [ebp + 0x64]
push dword [ebp + 0x60]
call eax
mov dword [ebp + 0x40], eax
cmp dword [ebp + 0x2c], edi
je 0x48ccef
push dword [ebp + 0x2c]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp + 0x40], edi
jne 0x48cd02
cmp dword [ebp + 0x68], edi
jg 0x48cd02
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x68], eax
lea ecx, [ebp + 0x5c]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
call fcn.0043db4f
lea ecx, [ebp + 0xc]
call fcn.0043db4f
lea ecx, [ebp + 0x60]
call fcn.0043db4f
lea ecx, [ebp + 0x28]
call fcn.0043db4f
lea ecx, [ebp + 0x44]
call fcn.0043db4f
mov esi, dword [ebp + 0x68]
jmp 0x48bd38
push 0x1000
lea ecx, [ebp + 0x7c]
call fcn.00443f79
lea ecx, [ebp + 0x3c]
call fcn.00443f5b
push edi
push 0x2c
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.00438e04
mov eax, dword [ebp + 0x4c]
add esp, 0x10
cmp word [eax], di
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x40], 0x4c6110
mov esi, 0x2000
mov ebx, str.Kernel32.DLL
je 0x48cdf5
mov eax, dword [0x4d8200]
cmp eax, edi
mov dword [ebp + 0x68], 0x7f
jne 0x48cdb3
push edi
push 0x4d8200
push ebx
push str.GetFirmwareEnvironmentVariableExW
call fcn.0043ef59
mov eax, dword [0x4d8200]
add esp, 0x10
cmp eax, edi
jne 0x48cdb3
or eax, 0xffffffff
mov dword [0x4d8200], eax
cmp eax, 0xffffffff
je 0x48cdf5
lea ecx, [ebp + 0x20]
push ecx
push esi
push dword [ebp + 0x7c]
push dword [ebp + 0x64]
push dword [ebp + 0x60]
call eax
cmp eax, edi
mov dword [ebp + 0x58], eax
je 0x48cdec
push dword [ebp + 0x20]
lea eax, [ebp - 0x120]
push 0x4bcae4
push eax
mov dword [ebp + 0x40], eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x48ce33
mov dword [ebp + 0x40], str.FAIL
jmp 0x48ce33
push edi
push 0x4d8204
push ebx
push str.GetFirmwareEnvironmentVariableW
mov dword [ebp + 0x68], 0x78
call fcn.0043ef59
mov eax, dword [0x4d8204]
add esp, 0x10
cmp eax, edi
mov dword [ebp + 0x58], edi
je 0x48ce33
cmp eax, 0xffffffff
je 0x48ce33
push esi
push dword [ebp + 0x7c]
mov dword [ebp + 0x68], edi
push dword [ebp + 0x64]
push dword [ebp + 0x60]
call eax
mov dword [ebp + 0x58], eax
mov ecx, dword [ebp + 0x50]
movsx ebx, byte [ecx + 9]
mov eax, dword [ebp + 0x3c]
mov cx, word [eax]
or ebx, dword [ebp + 0x18]
cmp cx, 0x26
mov dword [ebp + 0x5c], eax
jne 0x48ce51
or ebx, 2
jmp 0x48ce70
cmp cx, 0x24
je 0x48ce68
cmp cx, 0x5e
je 0x48ce68
cmp cx, 0x2e
jne 0x48ce70
or ebx, 4
jmp 0x48ce6a
xor ebx, ebx
add eax, 2
mov dword [ebp + 0x5c], eax
cmp dword [ebp + 0x58], edi
je 0x48cee2
cmp dword [ebp + 0x58], esi
jbe 0x48ce7d
mov dword [ebp + 0x58], esi
cmp ebx, edi
jne 0x48ceda
mov esi, dword [ebp + 0x58]
mov edi, dword [ebp + 0x7c]
and dword [ebp + 0x7c], 0
inc esi
lea eax, [esi + esi*4]
push eax
lea ecx, [ebp + 0x7c]
mov dword [ebp + 0x64], edi
call fcn.00443fa0
mov dword [ebp + 0x18], edi
mov edi, dword [ebp + 0x7c]
add edi, 0xfffffff6
dec esi
test esi, esi
jle 0x48cecb
mov dword [ebp + 0x2c], esi
mov esi, dword [ebp + 0x18]
movzx eax, byte [esi]
push eax
add edi, 0xa
push str.0x_02X
push edi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
inc esi
dec dword [ebp + 0x2c]
jne 0x48ceaf
and word [edi - 2], 0
lea ecx, [ebp + 0x64]
call fcn.0043db4f
xor edi, edi
mov eax, dword [ebp + 0x7c]
mov dword [ebp + 0x2c], eax
jmp 0x48cef0
cmp dword [ebp + 0x68], edi
jg 0x48cef0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x68], eax
test bl, 3
je 0x48cf10
push edi
lea eax, [ebp + 0x7c]
push eax
push dword [ebp + 0x58]
push dword [ebp + 0x2c]
push dword [ebp + 0x5c]
push dword [ebp + 0x50]
call fcn.0045067b
add esp, 0x18
jmp 0x48cf1e
push dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x50]
push dword [ebp + 0x5c]
call fcn.00443666
mov eax, dword [ebp + 0x38]
cmp word [eax], di
je 0x48cf32
push dword [ebp + 0x40]
mov ecx, dword [ebp + 0x50]
push eax
call fcn.00443666
lea ecx, [ebp + 0x3c]
call fcn.0043db4f
lea ecx, [ebp + 0x7c]
jmp 0x48cd0d