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

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0x190
push ebx
push esi
lea eax, [ebp + 0x74]
push edi
push eax
mov dword [ebp + 0x50], ecx
call fcn.1003f9c4
mov al, byte [ebp + 0x7c]
xor ebx, ebx
cmp al, 1
pop ecx
mov byte [ebp + 0x5f], al
jne 0x100937fe
mov byte [ebp + 0x5f], bl
lea ecx, [ebp + 0x14]
sete byte [ebp + 0x7c]
call fcn.10046123
lea ecx, [ebp + 0x20]
call fcn.10046123
lea eax, [ebp + 0x74]
push eax
call fcn.1003f9c4
cmp byte [ebp + 0x7c], 0
pop ecx
je 0x10093826
sub dword [ebp + 0x74], 2
push 0x3d
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.1004907a
add esp, 0xc
cmp byte [ebp + 0x7c], 0
je 0x10093846
mov eax, dword [ebp + 0x14]
mov word [eax], 0x26
mov ecx, dword [ebp + 0x50]
push ebx
lea eax, [ebp + 0x14]
push eax
call fcn.10002f54
movsx eax, byte [ebp + 0x7c]
lea edi, [eax + eax]
mov dword [ebp + 0x40], eax
mov eax, dword [ebp + 0x14]
add eax, edi
mov dword [ebp + 0x34], eax
mov eax, dword [ebp + 0x74]
cmp word [eax], 0x3d
mov dword [ebp + 0xc], edi
je 0x1009387b
mov esi, 0x80070057
jmp 0x10093a04
add dword [ebp + 0x74], 2
push 0x3b
push 0x2c
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.100490cd
mov eax, dword [ebp + 0x74]
mov si, word [eax]
add esp, 0x10
cmp si, 0x2c
je 0x100938a5
cmp si, 0x3b
jne 0x100938a9
add dword [ebp + 0x74], 2
cmp byte [ebp + 0x5f], 0
mov byte [ebp + 0x4f], 0
jne 0x10093a20
push dword [ebp + 0x20]
push str.WINVER
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x100938e5
push dword [ebp + 0x20]
push 0x100d2d00
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10093a20
mov byte [ebp + 0x4f], 0x2a
lea eax, [ebp + 0x74]
push eax
call fcn.1003f9c4
mov eax, dword [ebp + 0x74]
xor esi, esi
xor edi, edi
cmp word [eax], 0x5e
pop ecx
mov dword [ebp + 0x38], ebx
jne 0x10093908
or dword [ebp + 0x38], 0xffffffff
inc eax
inc eax
mov dword [ebp + 0x74], eax
cmp word [eax], 0x2b
jne 0x1009392d
lea ecx, [eax + 2]
cmp word [ecx], bx
mov byte [ebp + 0x4f], 1
jne 0x10093928
mov word [eax], 0x2a
mov eax, dword [ebp + 0x74]
mov byte [ebp + 0x4f], 0x2a
jmp 0x1009392d
mov eax, ecx
mov dword [ebp + 0x74], eax
xor ecx, ecx
mov cx, word [eax]
cmp cx, bx
mov dword [ebp + 0x10], ecx
jne 0x10093944
cmp byte [ebp + 0x4f], 0
je 0x100939c8
mov dword [ebp + 0x7c], ebx
cmp word [eax], 0x2a
je 0x10093953
cmp byte [ebp + 0x4f], 0x2a
jne 0x100939a0
mov eax, dword [ebp + 0x50]
cmp byte [eax + 0x92], 0
push 0x12
pop ecx
mov esi, str._SystemRoot_System32kernel32.dll
lea edi, [ebp - 0x64]
rep movsd dword es:[edi], dword [esi]
jne 0x10093987
test byte [eax + 9], 0xf
jne 0x10093987
mov ecx, dword [ebp + 0x50]
push 1
push ebx
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.10058e84
jmp 0x1009399a
mov ecx, dword [ebp + 0x50]
push 1
push ebx
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.10057b62
mov eax, dword [ebp + 0x7c]
mov dword [ebp + 0x74], eax
push 1
push ebx
push ebx
push dword [ebp + 0x38]
push eax
call fcn.10007d1f
add esp, 0x14
lea ecx, [ebp + 0x7c]
mov esi, eax
mov edi, edx
call fcn.1003f96c
cmp byte [ebp + 0x4f], 0
jne 0x100939c8
cmp word [ebp + 0x10], bx
jne 0x100939ed
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x1c], edi
call fcn.10042924
cmp byte [ebp + 0x4f], 0
mov esi, eax
mov edi, edx
je 0x100939ed
movzx eax, word [ebp + 0x18]
shld edi, esi, 0x10
cdq
shl esi, 0x10
or esi, eax
or edi, edx
push str.0x_I64X
push dword [ebp + 0x34]
push edi
push esi
push dword [ebp + 0x50]
call fcn.100487c8
add esp, 0x14
xor esi, esi
lea ecx, [ebp + 0x20]
call fcn.1003f96c
lea ecx, [ebp + 0x14]
call fcn.1003f96c
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x6c
leave
ret 0xc
push dword [ebp + 0x20]
push 0x100d2cb0
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10093a49
push dword [ebp + 0x34]
call fcn.1000a4aa
push eax
push dword [ebp + 0x50]
call fcn.1004884d
add esp, 0xc
jmp 0x10093a02
cmp si, bx
je 0x10093a58
cmp si, 0x2c
jne 0x10093871
cmp byte [ebp + 0x5f], 0
je 0x10093a68
cmp byte [ebp + 0x5f], 2
jne 0x10094008
push dword [ebp + 0x14]
lea ecx, [ebp + 0x30]
call fcn.100501eb
cmp byte [ebp + 0x7c], 0
mov esi, dword [ebp + 0x30]
je 0x10093a81
mov word [esi], 0x26
lea eax, [ebp + 0x74]
push eax
call fcn.1003f9c4
push dword [ebp + 0x20]
push str.FVER
call fcn.10040e34
add esp, 0xc
test al, al
je 0x10093b9b
lea ecx, [ebp + 0x60]
call fcn.10046123
push dword [ebp + 0x74]
mov dword [ebp + 0x58], ebx
call fcn.100132bf
push 0x3b
mov dword [ebp + 0x74], eax
lea eax, [ebp + 0x7c]
push 0x2c
push eax
mov dword [ebp + 0x18], 1
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x64], ebx
mov dword [ebp + 0x7c], esi
xor edi, edi
call fcn.1003ff40
mov eax, dword [ebp + 0x7c]
add esp, 0x10
cmp word [eax], bx
je 0x10093b07
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.100490cd
mov eax, dword [ebp + 0x64]
mov di, word [eax]
mov eax, dword [ebp + 0x7c]
add esp, 0x10
mov dword [ebp + 0x34], ebx
cmp word [eax], bx
je 0x10093b26
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x7c], eax
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.1009375c
pop ecx
pop ecx
push dword [ebp + 0x18]
lea eax, [ebp + 0x34]
push eax
mov ax, di
neg ax
lea ecx, [ebp + 0x58]
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.10007d1f
mov ecx, dword [ebp + 0x50]
add esp, 0x14
push dword [ebp + 0x60]
push esi
call fcn.100457c2
cmp di, bx
je 0x10093b73
push dword [ebp + 0x58]
mov ecx, dword [ebp + 0x50]
push dword [ebp + 0x64]
call fcn.100457c2
mov esi, dword [ebp + 0x34]
lea ecx, [ebp + 0x64]
call fcn.1003f96c
lea ecx, [ebp + 0x58]
call fcn.1003f96c
lea ecx, [ebp + 0x60]
call fcn.1003f96c
lea ecx, [ebp + 0x30]
call fcn.1003f96c
jmp 0x10093a04
push dword [ebp + 0x20]
push str.FTIME
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10093dc6
push dword [ebp + 0x74]
call fcn.100132bf
pop ecx
lea ecx, [ebp + 0x60]
mov dword [ebp + 0x34], eax
call fcn.10046123
lea ecx, [ebp + 0x58]
call fcn.10046123
lea ecx, [ebp + 0x54]
call fcn.10046123
lea eax, [edi + esi]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x38], ebx
jmp 0x10093c7a
push 6
lea eax, [ebp + 0x68]
push eax
push str._local
call fcn.10048195
add esp, 0xc
test al, al
je 0x10093c13
cmp byte [ebp + 0x7c], 0
je 0x10093c0d
sub dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
mov word [eax], 0x26
or byte [ebp + 0x7c], 2
jmp 0x10093c77
push 3
lea eax, [ebp + 0x68]
push eax
push 0x100d0fb0
call fcn.10048195
add esp, 0xc
test al, al
je 0x10093c30
or byte [ebp + 0x7c], 4
jmp 0x10093c77
push 4
lea eax, [ebp + 0x68]
push eax
push str._ws1
call fcn.10048195
add esp, 0xc
test al, al
je 0x10093c4d
or byte [ebp + 0x7c], 8
jmp 0x10093c77
push 5
lea eax, [ebp + 0x68]
push eax
push str._link
call fcn.10048195
add esp, 0xc
test al, al
je 0x10093c6d
mov dword [ebp + 0x38], 1
jmp 0x10093c77
lea eax, [ebp + 0x68]
push eax
call fcn.10008e60
pop ecx
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x2d
je 0x10093be4
cmp byte [ebp + 0x7c], 0
je 0x10093c8f
mov word [esi], 0x26
push 0x2c
pop esi
push esi
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.1004907a
mov eax, dword [ebp + 0x68]
add esp, 0xc
cmp word [eax], si
jne 0x10093cc0
add dword [ebp + 0x68], 2
push esi
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.1004907a
add esp, 0xc
mov eax, dword [ebp + 0x68]
cmp word [eax], si
jne 0x10093cdd
add dword [ebp + 0x68], 2
push esi
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.1004907a
add esp, 0xc
xor edi, edi
cmp dword [ebp + 0x38], ebx
lea esi, [ebp - 0xa4]
je 0x10093d25
push ebx
push ebx
push 3
push ebx
push 3
push 0x80000000
push dword [ebp + 0x34]
lea ecx, [ebp + 0x64]
mov dword [ebp + 0x64], ebx
call fcn.10005b9d
cmp dword [ebp + 0x64], ebx
je 0x10093d18
lea eax, [ebp - 0x50]
push eax
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
mov edi, eax
lea ecx, [ebp + 0x64]
lea esi, [ebp - 0x50]
call fcn.10002d56
jmp 0x10093d38
lea eax, [ebp - 0xa4]
push eax
push ebx
push dword [ebp + 0x34]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
mov edi, eax
cmp edi, ebx
je 0x10093d8d
push dword [ebp + 0x7c]
lea eax, [esi + 4]
push eax
push dword [ebp + 0x60]
push dword [ebp + 0x50]
call fcn.10049cc2
push dword [ebp + 0x7c]
lea eax, [esi + 0x14]
push eax
push dword [ebp + 0x58]
push dword [ebp + 0x50]
call fcn.10049cc2
push dword [ebp + 0x7c]
add esi, 0xc
push esi
push dword [ebp + 0x54]
push dword [ebp + 0x50]
call fcn.10049cc2
add esp, 0x30
lea ecx, [ebp + 0x54]
call fcn.1003f96c
lea ecx, [ebp + 0x58]
call fcn.1003f96c
lea ecx, [ebp + 0x60]
jmp 0x10093f8a
mov ecx, dword [ebp + 0x50]
mov esi, 0x100c6a64
push esi
push dword [ebp + 0x60]
call fcn.100457c2
mov ecx, dword [ebp + 0x50]
push esi
push dword [ebp + 0x58]
call fcn.100457c2
mov ecx, dword [ebp + 0x50]
push esi
push dword [ebp + 0x54]
call fcn.100457c2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea ecx, [ebp + 0x54]
jmp 0x10093b79
push dword [ebp + 0x20]
push str.FATTR
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10094000
push dword [ebp + 0x74]
call fcn.100132bf
cmp byte [ebp + 0x7c], 0
pop ecx
mov edi, eax
je 0x10093df3
mov word [esi], 0x26
lea ecx, [ebp + 0x44]
call fcn.10046123
lea ecx, [ebp + 0x60]
call fcn.10046123
lea ecx, [ebp + 0x58]
call fcn.10046123
lea ecx, [ebp + 0x54]
call fcn.10046123
lea ecx, [ebp + 0x64]
call fcn.10046123
push 0x2c
mov dword [ebp + 0x68], esi
pop esi
push esi
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.1004907a
mov eax, dword [ebp + 0x68]
add esp, 0xc
cmp word [eax], si
jne 0x10093ee2
cmp byte [ebp + 0x7c], 0
je 0x10093e4b
mov word [eax], 0x26
jmp 0x10093e50
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.1004907a
mov eax, dword [ebp + 0x68]
add esp, 0xc
cmp word [eax], si
jne 0x10093ee2
cmp byte [ebp + 0x7c], 0
je 0x10093e76
mov word [eax], 0x26
jmp 0x10093e7b
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.1004907a
mov eax, dword [ebp + 0x68]
add esp, 0xc
cmp word [eax], si
jne 0x10093ee2
cmp byte [ebp + 0x7c], 0
je 0x10093ea1
mov word [eax], 0x26
jmp 0x10093ea6
inc eax
inc eax
mov dword [ebp + 0x68], eax
push esi
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.1004907a
mov eax, dword [ebp + 0x68]
add esp, 0xc
cmp word [eax], si
jne 0x10093ee2
cmp byte [ebp + 0x7c], 0
je 0x10093ecc
mov word [eax], 0x26
jmp 0x10093ed1
inc eax
inc eax
mov dword [ebp + 0x68], eax
push esi
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.1004907a
add esp, 0xc
lea eax, [ebp - 0x1c]
push eax
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
je 0x10093f9c
mov eax, dword [ebp - 0x1c]
push dword [ebp + 0x44]
mov esi, dword [ebp + 0x50]
xor edi, edi
shr eax, 5
inc edi
and eax, edi
push eax
push esi
call fcn.1004884d
mov eax, dword [ebp - 0x1c]
push dword [ebp + 0x60]
shr eax, 1
and eax, edi
push eax
push esi
call fcn.1004884d
mov eax, dword [ebp - 0x1c]
push dword [ebp + 0x58]
and eax, edi
push eax
push esi
call fcn.1004884d
mov eax, dword [ebp - 0x1c]
push dword [ebp + 0x54]
shr eax, 2
and eax, edi
push eax
push esi
call fcn.1004884d
push dword [ebp - 0x1c]
lea eax, [ebp - 0x80]
push str.0x_lX
push eax
mov word [ebp - 0x80], bx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x3c
lea eax, [ebp - 0x80]
push eax
push dword [ebp + 0x64]
mov ecx, esi
call fcn.100457c2
lea ecx, [ebp + 0x64]
call fcn.1003f96c
lea ecx, [ebp + 0x54]
call fcn.1003f96c
lea ecx, [ebp + 0x58]
call fcn.1003f96c
lea ecx, [ebp + 0x60]
call fcn.1003f96c
lea ecx, [ebp + 0x44]
call fcn.1003f96c
lea ecx, [ebp + 0x30]
call fcn.1003f96c
jmp 0x10093a02
mov edi, dword [ebp + 0x50]
mov esi, 0x100c6a64
push esi
push dword [ebp + 0x44]
mov ecx, edi
call fcn.100457c2
push esi
push dword [ebp + 0x60]
mov ecx, edi
call fcn.100457c2
push esi
push dword [ebp + 0x58]
mov ecx, edi
call fcn.100457c2
push esi
push dword [ebp + 0x54]
mov ecx, edi
call fcn.100457c2
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp + 0x64]
mov esi, eax
call fcn.1003f96c
lea ecx, [ebp + 0x54]
call fcn.1003f96c
lea ecx, [ebp + 0x58]
call fcn.1003f96c
lea ecx, [ebp + 0x60]
call fcn.1003f96c
lea ecx, [ebp + 0x44]
jmp 0x10093b89
lea ecx, [ebp + 0x30]
call fcn.1003f96c
cmp byte [ebp + 0x5f], 0
jne 0x10093a02
push dword [ebp + 0x14]
lea ecx, [ebp + 0x44]
call fcn.100501eb
lea eax, [ebp + 0x74]
push eax
call fcn.1003f9c4
mov esi, dword [ebp + 0x20]
push esi
push str.DROPFILE
call fcn.10040e34
add esp, 0xc
test al, al
je 0x10094118
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x74]
push eax
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x40], ebx
call fcn.1005381f
pop ecx
pop ecx
lea ecx, [ebp + 0x60]
call fcn.10046123
lea ecx, [ebp + 0x58]
call fcn.10046123
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x64], eax
push 0x2c
lea eax, [ebp + 0x60]
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.1004907a
mov eax, dword [ebp + 0x64]
add esp, 0xc
cmp word [eax], 0x2c
jne 0x100940a9
cmp byte [ebp + 0x7c], 0
je 0x10094092
mov word [eax], 0x26
jmp 0x10094097
inc eax
inc eax
mov dword [ebp + 0x64], eax
push 0x2c
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.1004907a
add esp, 0xc
lea ecx, [ebp + 0x54]
call fcn.10046123
lea ecx, [ebp + 0x24]
call fcn.10046123
mov esi, dword [ebp + 0x58]
xor eax, eax
cmp word [esi], bx
je 0x100940c6
lea eax, [ebp + 0x24]
mov ecx, dword [ebp + 0x3c]
or ecx, dword [ebp + 0x40]
je 0x100940de
push eax
lea eax, [ebp + 0x54]
push eax
push dword [ebp + 0x3c]
call fcn.10004963
add esp, 0xc
push dword [ebp + 0x54]
mov ecx, dword [ebp + 0x50]
push dword [ebp + 0x60]
call fcn.100457c2
push dword [ebp + 0x24]
mov ecx, dword [ebp + 0x50]
push esi
call fcn.100457c2
lea ecx, [ebp + 0x24]
call fcn.1003f96c
lea ecx, [ebp + 0x54]
call fcn.1003f96c
lea ecx, [ebp + 0x58]
call fcn.1003f96c
lea ecx, [ebp + 0x60]
jmp 0x1009478a
push esi
push str.FPOS
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x1009432a
push dword [ebp + 0x74]
call fcn.100132bf
mov dword [ebp + 0x54], eax
lea eax, [ebp + 0x54]
push eax
call fcn.1003f9c4
push dword [ebp + 0x54]
call fcn.10010e64
add esp, 0xc
lea ecx, [ebp + 0x48]
call fcn.10046123
lea eax, [ebp + 0x48]
push eax
push dword [ebp + 0x54]
call fcn.10013659
mov bl, byte [ebp + 0x7c]
test bl, bl
mov eax, dword [ebp + 0x48]
mov esi, dword [ebp + 0x44]
pop ecx
pop ecx
push 0x26
mov dword [ebp + 0x54], eax
pop edi
je 0x10094178
mov word [esi], di
lea ecx, [ebp + 0x28]
call fcn.10046123
lea ecx, [ebp + 0x68]
call fcn.10046123
lea ecx, [ebp + 0x30]
call fcn.10046123
lea ecx, [ebp + 0x60]
call fcn.10046123
lea ecx, [ebp + 0x58]
call fcn.10046123
lea ecx, [ebp + 0x64]
call fcn.10046123
lea ecx, [ebp + 0x24]
call fcn.10046123
push 0x2c
mov dword [ebp + 0x7c], esi
pop esi
push esi
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.1004907a
mov eax, dword [ebp + 0x7c]
add esp, 0xc
cmp word [eax], si
jne 0x100942bd
test bl, bl
je 0x100941dc
mov word [eax], di
jmp 0x100941e1
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.1004907a
mov eax, dword [ebp + 0x7c]
add esp, 0xc
cmp word [eax], si
jne 0x100942bd
test bl, bl
je 0x10094207
mov word [eax], di
jmp 0x1009420c
inc eax
inc eax
mov dword [ebp + 0x7c], eax
push esi
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.1004907a
mov eax, dword [ebp + 0x7c]
add esp, 0xc
cmp word [eax], si
jne 0x100942bd
test bl, bl
je 0x10094232
mov word [eax], di
jmp 0x10094237
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.1004907a
mov eax, dword [ebp + 0x7c]
add esp, 0xc
cmp word [eax], si
jne 0x100942bd
test bl, bl
je 0x10094259
mov word [eax], di
jmp 0x1009425e
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.1004907a
mov eax, dword [ebp + 0x7c]
add esp, 0xc
cmp word [eax], si
jne 0x100942bd
test bl, bl
je 0x10094280
mov word [eax], di
jmp 0x10094285
inc eax
inc eax
mov dword [ebp + 0x7c], eax
push esi
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.1004907a
mov eax, dword [ebp + 0x7c]
add esp, 0xc
cmp word [eax], si
jne 0x100942bd
test bl, bl
je 0x100942a7
mov word [eax], di
jmp 0x100942ac
inc eax
inc eax
mov dword [ebp + 0x7c], eax
push esi
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x7c]
push eax
call fcn.1004907a
add esp, 0xc
push dword [ebp + 0x24]
push dword [ebp + 0x64]
push dword [ebp + 0x58]
push dword [ebp + 0x60]
push dword [ebp + 0x30]
push dword [ebp + 0x68]
push dword [ebp + 0x28]
push dword [ebp + 0x54]
push dword [ebp + 0x50]
call fcn.1003e423
add esp, 0x24
lea ecx, [ebp + 0x24]
mov esi, eax
call fcn.1003f96c
lea ecx, [ebp + 0x64]
call fcn.1003f96c
lea ecx, [ebp + 0x58]
call fcn.1003f96c
lea ecx, [ebp + 0x60]
call fcn.1003f96c
lea ecx, [ebp + 0x30]
call fcn.1003f96c
lea ecx, [ebp + 0x68]
call fcn.1003f96c
lea ecx, [ebp + 0x28]
call fcn.1003f96c
lea ecx, [ebp + 0x48]
call fcn.1003f96c
lea ecx, [ebp + 0x44]
jmp 0x10093b91
push esi
push 0x100d2c6c
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x1009436d
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x74]
push eax
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x1c], ebx
call fcn.1005381f
pop ecx
pop ecx
push dword [ebp + 0x44]
push dword [ebp + 0x18]
call fcn.10004dd3
pop ecx
push eax
push dword [ebp + 0x50]
call fcn.1004884d
add esp, 0xc
jmp 0x1009478f
push esi
push str.ISADMIN
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10094388
push dword [ebp + 0x44]
call fcn.100a1020
jmp 0x1009435c
push esi
push str.fvar
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x10094797
push 5
push esi
push 0x100d2c50
call dword [sym.imp.SHLWAPI.dll_StrCmpNIW]
test eax, eax
je 0x10094797
push esi
push str.PWIN
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x10094529
lea ecx, [ebp + 0x48]
call fcn.10046123
lea ecx, [ebp + 0x54]
call fcn.10046123
mov eax, dword [ebp + 0x44]
push ebx
mov dword [ebp + 0x38], eax
push 0x2c
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x38]
push eax
call fcn.1003ac59
push 0x2c
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x38]
push eax
call fcn.1004907a
add esp, 0x1c
lea eax, [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x74]
push eax
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x40], ebx
call fcn.1007edb8
test eax, eax
pop ecx
pop ecx
je 0x10094429
mov eax, dword [ebp + 0x3c]
mov dword [ebp + 8], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.1007edb8
test eax, eax
pop ecx
pop ecx
je 0x10094442
mov eax, dword [ebp + 0x3c]
mov dword [ebp + 0xc], eax
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x74]
push eax
mov dword [ebp + 0x3c], 3
mov dword [ebp + 0x40], ebx
call fcn.1007edb8
pop ecx
pop ecx
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_WindowFromPoint]
cmp eax, ebx
mov dword [ebp + 0x7c], eax
mov dword [ebp + 0x64], eax
je 0x100944f3
cmp dword [ebp + 0x3c], 3
jne 0x1009448c
cmp dword [ebp + 0x40], 0
jne 0x1009448c
mov eax, dword [ebp + 0x54]
cmp word [eax], 0
je 0x100944f3
mov ebx, dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xfffffffffffffff0
push dword [ebp + 0x7c]
jmp 0x100944ac
push dword [ebp + 0x64]
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
je 0x100944b5
push 0xfffffffffffffff0
mov dword [ebp + 0x64], eax
push eax
call ebx
test eax, 0x40000000
jne 0x10094499
cmp dword [ebp + 0x3c], 3
jne 0x100944c1
cmp dword [ebp + 0x40], 0
je 0x100944f3
mov ebx, dword [ebp + 0x64]
and dword [ebp + 0x18], 0
and dword [ebp + 0x1c], 0
lea eax, [ebp + 0x18]
push eax
push ebx
call dword [sym.imp.USER32.dll_ClientToScreen]
push dword [ebp + 0x3c]
sub edi, dword [ebp + 0x1c]
sub esi, dword [ebp + 0x18]
push edi
push esi
push ebx
mov dword [ebp + 0x7c], ebx
call dword [sym.imp.USER32.dll_ChildWindowFromPointEx]
test eax, eax
je 0x100944f3
mov dword [ebp + 0x7c], eax
push dword [ebp + 0x48]
push dword [ebp + 0x7c]
push dword [ebp + 0x50]
call fcn.100104aa
push dword [ebp + 0x54]
push dword [ebp + 0x64]
push dword [ebp + 0x50]
call fcn.100104aa
add esp, 0x18
lea ecx, [ebp + 0x54]
call fcn.1003f96c
lea ecx, [ebp + 0x48]
call fcn.1003f96c
xor ebx, ebx
jmp 0x1009478f
push esi
push str.PEBIT
call fcn.10040e34
test al, al
pop ecx
pop ecx
je 0x1009478f
mov eax, dword [ebp + 0x44]
lea ecx, [ebp + 0x48]
mov dword [ebp + 0x38], eax
call fcn.10046123
lea ecx, [ebp + 0x54]
call fcn.10046123
push ebx
push 0x2c
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x38]
push eax
call fcn.1003ac59
push 0x2c
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x38]
push eax
call fcn.1004907a
or dword [ebp + 0x3c], 0xffffffff
or dword [ebp + 0x40], 0xffffffff
push 0xd
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 0x74]
mov esi, 0x100c6a64
push eax
mov dword [ebp + 0x60], esi
mov dword [ebp + 0x64], ebx
mov dword [ebp + 0x10], ebx
call fcn.1001a65a
mov eax, dword [ebp + 0x74]
add esp, 0x28
cmp word [eax], bx
je 0x10094732
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 0x100945d1
cmp cx, 0x2f
je 0x100945d1
push edx
call fcn.100b36d9
test eax, eax
pop ecx
je 0x100945f4
jmp 0x100945d4
mov word [eax], bx
push 0xffffffffffffffff
push dword [ebp + 0x74]
lea ecx, [ebp + 0x64]
call fcn.10046247
push str._version.dll
lea ecx, [ebp + 0x64]
call fcn.1004618f
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x74], eax
push ebx
push 0x80
push 3
push ebx
push 7
push 0x80000000
push dword [ebp + 0x74]
lea ecx, [ebp + 0x58]
mov dword [ebp + 0x58], ebx
call fcn.10005b9d
cmp dword [ebp + 0x58], ebx
mov dword [ebp + 0x60], esi
je 0x1009472a
mov esi, 0x1000
push esi
lea ecx, [ebp + 0x34]
mov dword [ebp + 0x7c], ebx
call fcn.10046141
mov edi, dword [ebp + 0x34]
push esi
push ebx
push edi
call fcn.100b40f0
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 + 0x58]
call esi
test eax, eax
je 0x10094722
cmp dword [ebp + 0x7c], 0x40
jb 0x10094722
cmp word [edi], 0x5a4d
jne 0x10094722
mov eax, dword [edi + 0x3c]
lea ecx, [eax + 8]
cmp ecx, dword [ebp + 0x7c]
jbe 0x1009469c
push ebx
push ebx
push eax
push dword [ebp + 0x58]
mov dword [edi], ebx
mov dword [edi + 4], ebx
call fcn.10040d01
add esp, 0x10
push ebx
lea eax, [ebp + 0x7c]
push eax
push 8
push edi
push dword [ebp + 0x58]
mov dword [ebp + 0x7c], ebx
call esi
xor eax, eax
lea ecx, [eax + 8]
cmp ecx, dword [ebp + 0x7c]
ja 0x10094722
mov ecx, dword [edi + eax]
mov edi, dword [edi + eax + 4]
and edi, 0xffff
mov eax, 0x4550
cmp ecx, eax
mov dword [ebp + 0x3c], ecx
mov dword [ebp + 0x40], edi
jne 0x100946f2
cmp edi, 0x8664
jne 0x100946d1
mov dword [ebp + 0x60], 0x100d2c1c
jmp 0x10094722
cmp ecx, eax
jne 0x100946f2
cmp edi, 0x14c
je 0x1009471b
cmp ecx, eax
jne 0x100946f2
cmp edi, 0x200
jne 0x100946f2
mov dword [ebp + 0x60], str.ia64
jmp 0x10094722
mov eax, 0x3c05454e
cmp ecx, eax
jne 0x10094722
cmp edi, 0x137
je 0x1009471b
cmp ecx, eax
jne 0x10094722
cmp edi, 0x1b0
je 0x1009471b
cmp ecx, eax
jne 0x10094722
cmp edi, 0xe7
jne 0x10094722
mov dword [ebp + 0x60], 0x100d2c08
lea ecx, [ebp + 0x34]
call fcn.1003f96c
lea ecx, [ebp + 0x58]
call fcn.10002d56
push dword [ebp + 0x60]
mov ecx, dword [ebp + 0x50]
push dword [ebp + 0x48]
call fcn.100457c2
cmp dword [ebp + 0x40], ebx
jg 0x1009475e
jl 0x1009474c
cmp dword [ebp + 0x3c], ebx
ja 0x1009475e
mov ecx, dword [ebp + 0x50]
push str._0x000000000001
push dword [ebp + 0x54]
call fcn.100457c2
jmp 0x10094777
push str.0x_012I64X
push dword [ebp + 0x54]
push dword [ebp + 0x40]
push dword [ebp + 0x3c]
push dword [ebp + 0x50]
call fcn.100487c8
add esp, 0x14
lea ecx, [ebp + 0x64]
call fcn.1003f96c
lea ecx, [ebp + 0x54]
call fcn.1003f96c
lea ecx, [ebp + 0x48]
call fcn.1003f96c
lea ecx, [ebp + 0x44]
jmp 0x10093f92
mov eax, dword [ebp + 0x20]
cmp word [eax + 8], 0x2b
lea ecx, [ebp + 0x24]
setne bl
dec bl
and ebx, 0x2b
call fcn.10046123
lea ecx, [ebp + 0x58]
call fcn.10046123
mov eax, dword [ebp + 0x44]
xor esi, esi
test bl, bl
mov dword [ebp + 0x10], esi
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x28], 0x100c6a64
mov dword [ebp + 0x64], str.8BE4DF61_93CA_11D2_AA0D_00E098032B8C
mov byte [ebp + 0x5f], 0
je 0x100947f3
push 2
lea eax, [ebp + 0x54]
push eax
push 0x100d1ddc
call fcn.10048195
add esp, 0xc
test al, al
je 0x100947f3
mov byte [ebp + 0x5f], 1
mov eax, dword [ebp + 0x54]
push 0x3b
mov dword [ebp + 0x34], eax
push 0x2c
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x74]
push eax
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x1c], esi
call fcn.100490cd
mov eax, dword [ebp + 0x74]
mov ax, word [eax]
add esp, 0x10
cmp ax, si
je 0x10094846
add dword [ebp + 0x74], 2
cmp ax, 0x3b
jne 0x10094846
push esi
push 0x2c
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.1003ac59
mov eax, dword [ebp + 0x24]
add esp, 0x10
cmp word [eax], si
je 0x10094846
mov dword [ebp + 0x64], eax
push 0x80
push 2
push str.SeSystemEnvironmentPrivilege
call fcn.10013699
or dword [ebp + 0x30], 0xffffffff
or edi, 0xffffffff
add esp, 0xc
test bl, bl
mov dword [ebp + 0x2c], edi
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x68], esi
je 0x10094a06
lea ecx, [ebp + 0x60]
call fcn.10046123
mov eax, dword [ebp + 0x54]
cmp word [eax], si
mov dword [ebp + 0x28], esi
je 0x10094894
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.10049610
pop ecx
pop ecx
mov al, byte [ebp + 0x5f]
neg al
lea ecx, [ebp + 0x7c]
sbb eax, eax
and eax, 0x100e3d7c
push eax
call fcn.1003a25a
cmp byte [ebp + 0x5f], 0
je 0x100948dc
mov ecx, dword [ebp + 0x50]
push esi
push 0xffffffffffffffff
push esi
push dword [ebp + 0x74]
call fcn.10010cdd
cmp eax, esi
mov dword [ebp + 0x74], esi
je 0x100948d3
mov ecx, dword [eax + 4]
mov dword [ebp + 0x74], ecx
mov edi, dword [eax + 0x10]
mov dword [ebp + 0x30], esi
jmp 0x100948fa
mov dword [ebp + 0x68], 1
jmp 0x100948fa
lea eax, [ebp + 0x2c]
push eax
mov eax, dword [ebp + 0x20]
add eax, 0xa
push eax
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.1005eb1f
mov edi, dword [ebp + 0x2c]
add esp, 0x10
cmp dword [ebp + 0x30], esi
jl 0x100949ad
jg 0x1009490d
cmp edi, esi
jb 0x100949ad
mov eax, dword [ebp + 0x34]
cmp word [eax], si
je 0x10094967
mov eax, dword [0x100e321c]
cmp eax, esi
mov dword [ebp + 0x68], 0x7f
jne 0x1009494e
push esi
push 0x100e321c
push str.Kernel32.DLL
push str.SetFirmwareEnvironmentVariableExW
call fcn.10040e9d
mov eax, dword [0x100e321c]
add esp, 0x10
cmp eax, esi
jne 0x1009494e
or eax, 0xffffffff
mov dword [0x100e321c], eax
cmp eax, 0xffffffff
je 0x100949ad
push dword [ebp + 0x18]
mov dword [ebp + 0x68], esi
push edi
push dword [ebp + 0x74]
push dword [ebp + 0x64]
push dword [ebp + 0x58]
call eax
jmp 0x100949aa
mov eax, dword [0x100e3228]
cmp eax, esi
jne 0x10094999
push esi
push 0x100e3228
push str.Kernel32.DLL
push str.SetFirmwareEnvironmentVariableW
call fcn.10040e9d
mov eax, dword [0x100e3228]
add esp, 0x10
cmp eax, esi
jne 0x10094999
or eax, 0xffffffff
mov dword [0x100e3228], eax
cmp eax, 0xffffffff
je 0x100949ad
push edi
push dword [ebp + 0x74]
push dword [ebp + 0x64]
push dword [ebp + 0x58]
call eax
mov dword [ebp + 0x48], eax
cmp dword [ebp + 0x7c], esi
je 0x100949bb
push dword [ebp + 0x7c]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp + 0x48], esi
jne 0x100949ce
cmp dword [ebp + 0x68], esi
jg 0x100949ce
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x68], eax
lea ecx, [ebp + 0x28]
call fcn.1003f96c
lea ecx, [ebp + 0x60]
call fcn.1003f96c
lea ecx, [ebp + 0x10]
call fcn.1003f96c
lea ecx, [ebp + 0x58]
call fcn.1003f96c
lea ecx, [ebp + 0x24]
call fcn.1003f96c
lea ecx, [ebp + 0x44]
call fcn.1003f96c
mov esi, dword [ebp + 0x68]
jmp 0x10093a04
push 0x1000
lea ecx, [ebp + 0x30]
call fcn.10046141
lea ecx, [ebp + 0x38]
call fcn.10046123
push esi
push 0x2c
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.1003ac59
mov eax, dword [ebp + 0x54]
add esp, 0x10
cmp word [eax], si
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x48], 0x100d06f8
mov ebx, 0x2000
mov edi, str.Kernel32.DLL
je 0x10094ac1
mov eax, dword [0x100e3220]
cmp eax, esi
mov dword [ebp + 0x68], 0x7f
jne 0x10094a7f
push esi
push 0x100e3220
push edi
push str.GetFirmwareEnvironmentVariableExW
call fcn.10040e9d
mov eax, dword [0x100e3220]
add esp, 0x10
cmp eax, esi
jne 0x10094a7f
or eax, 0xffffffff
mov dword [0x100e3220], eax
cmp eax, 0xffffffff
je 0x10094ac1
lea ecx, [ebp + 0x18]
push ecx
push ebx
push dword [ebp + 0x30]
push dword [ebp + 0x64]
push dword [ebp + 0x58]
call eax
cmp eax, esi
mov dword [ebp + 0x60], eax
je 0x10094ab8
push dword [ebp + 0x18]
lea eax, [ebp - 0x124]
push 0x100c6b48
push eax
mov dword [ebp + 0x48], eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x10094aff
mov dword [ebp + 0x48], str.FAIL
jmp 0x10094aff
push esi
push 0x100e3224
push edi
push str.GetFirmwareEnvironmentVariableW
mov dword [ebp + 0x68], 0x78
call fcn.10040e9d
mov eax, dword [0x100e3224]
add esp, 0x10
cmp eax, esi
mov dword [ebp + 0x60], esi
je 0x10094aff
cmp eax, 0xffffffff
je 0x10094aff
push ebx
push dword [ebp + 0x30]
mov dword [ebp + 0x68], esi
push dword [ebp + 0x64]
push dword [ebp + 0x58]
call eax
mov dword [ebp + 0x60], eax
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebp + 0xc]
lea edi, [ecx + eax]
mov eax, dword [ebp + 0x50]
movsx ebx, byte [eax + 9]
mov ax, word [edi]
or ebx, dword [ebp + 0x40]
cmp ax, 0x26
jne 0x10094b20
or ebx, 2
jmp 0x10094b3b
cmp ax, 0x24
je 0x10094b37
cmp ax, 0x5e
je 0x10094b37
cmp ax, 0x2e
jne 0x10094b3b
or ebx, 4
jmp 0x10094b39
xor ebx, ebx
inc edi
inc edi
cmp byte [ebp + 0x7c], 0
je 0x10094b48
dec edi
dec edi
mov word [edi], 0x26
cmp dword [ebp + 0x60], 0
je 0x10094bc9
mov eax, 0x2000
cmp dword [ebp + 0x60], eax
jbe 0x10094b5b
mov dword [ebp + 0x60], eax
test ebx, ebx
jne 0x10094bc1
mov eax, dword [ebp + 0x30]
mov esi, dword [ebp + 0x60]
and dword [ebp + 0x30], ebx
inc esi
mov dword [ebp + 0x64], eax
lea eax, [esi + esi*4]
push eax
lea ecx, [ebp + 0x30]
call fcn.10046168
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x40], eax
mov eax, dword [ebp + 0x30]
add eax, 0xfffffff6
dec esi
test esi, esi
mov dword [ebp + 0x7c], eax
jle 0x10094bb1
mov dword [ebp + 0x28], esi
mov esi, dword [ebp + 0x40]
movzx eax, byte [esi]
add dword [ebp + 0x7c], 0xa
push eax
push 0x100cc278
push dword [ebp + 0x7c]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
inc esi
dec dword [ebp + 0x28]
jne 0x10094b92
mov eax, dword [ebp + 0x7c]
and word [eax - 2], 0
lea ecx, [ebp + 0x64]
call fcn.1003f96c
mov eax, dword [ebp + 0x30]
mov dword [ebp + 0x28], eax
jmp 0x10094bd8
cmp dword [ebp + 0x68], 0
jg 0x10094bd8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x68], eax
test bl, 3
je 0x10094bf7
push 0
lea eax, [ebp + 0x30]
push eax
push dword [ebp + 0x60]
push dword [ebp + 0x28]
push edi
push dword [ebp + 0x50]
call fcn.10053ed6
add esp, 0x18
jmp 0x10094c03
push dword [ebp + 0x28]
mov ecx, dword [ebp + 0x50]
push edi
call fcn.100457c2
mov eax, dword [ebp + 0x34]
cmp word [eax], 0
je 0x10094c18
push dword [ebp + 0x48]
mov ecx, dword [ebp + 0x50]
push eax
call fcn.100457c2
lea ecx, [ebp + 0x38]
call fcn.1003f96c
lea ecx, [ebp + 0x30]
jmp 0x100949d9