Function at 0x4073ef
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10c
mov eax, dword [ebp + 0x10]
push ebx
push esi
push edi
xor edi, edi
cmp ax, 0x26
mov byte [ebp - 1], 0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], 3
je 0x407417
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp + 8]
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
call fcn.0043fe57
mov ebx, dword [ebp + 0xc]
pop ecx
mov eax, dword [ebp + 8]
mov ax, word [eax]
push 0x26
pop ecx
cmp ax, cx
jne 0x40743b
mov dword [ebp - 0x34], ecx
cmp ax, 0x26
mov esi, dword [ebp - 0x1c]
jne 0x407452
add dword [ebp + 8], 2
mov eax, dword [ebp + 8]
inc esi
cmp word [eax], 0x26
je 0x407444
cmp word [ebp - 0x34], 0x26
jne 0x4074e9
mov eax, dword [ebp + 0x10]
push 0xa
push dword [ebp + 8]
mov dword [ebp - 0x34], eax
push str.FORCELOCAL
call fcn.00441277
add esp, 0xc
test al, al
je 0x4074e9
mov ecx, dword [ebp + 8]
add ecx, 0x14
xor edx, edx
mov dx, word [ecx]
cmp dx, 0x3d
je 0x40749a
mov eax, edx
call fcn.004b1b03
test al, al
jne 0x40749a
cmp dx, di
jne 0x4074e9
lea eax, [ebp + 8]
push eax
mov dword [ebp + 8], ecx
call fcn.0043fe57
mov eax, dword [ebp + 8]
cmp word [eax], 0x3d
pop ecx
jne 0x407b82
add dword [ebp + 8], 2
lea eax, [ebp + 8]
push eax
call fcn.0043fe57
mov eax, dword [ebp + 8]
mov al, byte [eax]
and al, 0x30
cmp al, 0x30
pop ecx
jne 0x407b82
cmp esi, 3
jl 0x407846
mov eax, dword [ebp + 8]
mov al, byte [eax]
and al, 1
mov byte [ebx + 9], al
jmp 0x407846
push 8
push dword [ebp + 8]
push 0x4c7744
call fcn.00441277
mov esi, dword [ebp + 8]
add esp, 0xc
test al, al
je 0x407568
lea ecx, [esi + 0x10]
xor edx, edx
mov dx, word [ecx]
cmp dx, 0x3d
je 0x407520
mov eax, edx
call fcn.004b1b03
test al, al
jne 0x407520
cmp dx, di
jne 0x407568
lea eax, [ebp + 8]
push eax
mov dword [ebp + 8], ecx
call fcn.0043fe57
mov eax, dword [ebp + 8]
cmp word [eax], 0x3d
pop ecx
jne 0x407846
add dword [ebp + 8], 2
lea eax, [ebp + 8]
push eax
call fcn.0043fe57
mov eax, dword [ebp + 8]
pop ecx
mov cl, byte [eax]
and cl, 0x30
cmp cl, 0x30
jne 0x407846
mov al, byte [eax]
and al, 1
mov byte [ebx + 0x92], al
jmp 0x407846
push 0xb
push esi
push str.EXPORTLOCAL
call fcn.00441277
mov esi, dword [ebp + 8]
add esp, 0xc
test al, al
je 0x407619
lea ecx, [esi + 0x16]
xor edx, edx
mov dx, word [ecx]
cmp dx, 0x3d
je 0x4075a1
mov eax, edx
call fcn.004b1b03
test al, al
jne 0x4075a1
cmp dx, di
jne 0x407619
lea eax, [ebp + 8]
push eax
mov dword [ebp + 8], ecx
call fcn.0043fe57
mov eax, dword [ebp + 8]
cmp word [eax], 0x3d
pop ecx
jne 0x407846
add dword [ebp + 8], 2
lea eax, [ebp + 8]
push eax
call fcn.0043fe57
mov eax, dword [ebp + 8]
cmp word [eax], 0x31
pop ecx
jne 0x4075d9
mov byte [0x4e2e94], 1
cmp word [eax], 0x30
jne 0x4075e6
mov byte [0x4e2e94], 0
cmp word [eax], 0x26
jne 0x407846
cmp word [eax + 2], 0x31
jne 0x4075fb
mov byte [ebx + 8], 1
cmp word [eax], 0x26
jne 0x407846
cmp word [eax + 2], 0x30
jne 0x407846
mov byte [ebx + 8], 0
jmp 0x407846
push 6
push esi
push 0x4c7730
call fcn.00441277
add esp, 0xc
test al, al
je 0x407656
mov eax, dword [ebp + 8]
mov ax, word [eax + 0xc]
cmp ax, 0x30
jne 0x407643
mov byte [ebx + 0x2e], 0
jmp 0x407846
cmp ax, 0x31
jne 0x407846
mov byte [ebx + 0x2e], 1
jmp 0x407846
push 8
push dword [ebp + 8]
push str.logs_ln
call fcn.00441277
add esp, 0xc
test al, al
je 0x407695
mov eax, dword [ebp + 8]
mov ax, word [eax + 0x10]
cmp ax, 0x30
jne 0x407682
and byte [ebx + 0xc], 0xbf
jmp 0x407846
cmp ax, 0x31
jne 0x407846
or byte [ebx + 0xc], 0x40
jmp 0x407846
push 8
push dword [ebp + 8]
push str.logs_np
call fcn.00441277
add esp, 0xc
test al, al
je 0x4076d4
mov eax, dword [ebp + 8]
mov ax, word [eax + 0x10]
cmp ax, 0x30
jne 0x4076c1
and byte [ebx + 0xc], 0xf7
jmp 0x407846
cmp ax, 0x31
jne 0x407846
or byte [ebx + 0xc], 8
jmp 0x407846
push 0xa
pop esi
push esi
push dword [ebp + 8]
push str.HelpColor
call fcn.00441277
add esp, 0xc
test al, al
jne 0x407b97
push 4
push dword [ebp + 8]
push str.Arg
call fcn.00441277
add esp, 0xc
test al, al
jne 0x407c33
push esi
push dword [ebp + 8]
push str.Clipboard
call fcn.00441277
add esp, 0xc
test al, al
je 0x407731
mov eax, dword [ebp + 8]
add eax, 0x14
push eax
call fcn.0044434d
pop ecx
jmp 0x407846
push 0xb
push dword [ebp + 8]
push str.Clipboard_
call fcn.00441277
add esp, 0xc
test al, al
jne 0x407c5a
push 9
push dword [ebp + 8]
push str.QueryCmd
call fcn.00441277
add esp, 0xc
test al, al
je 0x407783
cmp byte [0x4e1354], 0
je 0x407846
mov eax, dword [ebp + 8]
cmp word [eax + 0x12], 0x31
sete al
mov byte [0x4e1354], al
jmp 0x407846
push 0xb
push dword [ebp + 8]
push str.LoadPlugin
call fcn.00441277
add esp, 0xc
test al, al
jne 0x407c89
push 5
lea eax, [ebp + 8]
push eax
push str.Alias
call fcn.004485c7
add esp, 0xc
test al, al
jne 0x407cac
push 7
push dword [ebp + 8]
push str.WndProc
call fcn.00441277
add esp, 0xc
test al, al
jne 0x407cba
push esi
push dword [ebp + 8]
push str.TextDelay
call fcn.00441277
add esp, 0xc
test al, al
je 0x407818
add dword [ebp + 8], 0x14
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 8]
push eax
mov dword [ebp - 8], edi
call fcn.00453e89
mov eax, dword [ebp - 8]
cdq
idiv esi
pop ecx
pop ecx
mov ecx, 0xff
cmp eax, ecx
jle 0x40780e
mov eax, ecx
mov byte [0x4e12d6], al
jmp 0x407b82
push esi
push dword [ebp + 8]
push str.EnviBroad
call fcn.00441277
add esp, 0xc
test al, al
je 0x407874
mov eax, dword [ebp + 8]
add eax, 0x14
mov dword [ebp - 8], edi
mov dword [ebp + 8], eax
cmp word [eax], 0x2d
jne 0x407855
mov al, byte [eax]
mov byte [0x4e2e85], al
lea eax, [ebp + 8]
push eax
call fcn.00408f31
pop ecx
jmp 0x407b82
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 8]
push eax
call fcn.004429d6
cmp dword [ebp - 8], edi
pop ecx
sete al
pop ecx
mov byte [0x4e2e85], al
jmp 0x407b82
push 7
push dword [ebp + 8]
push str.memvar
call fcn.00441277
add esp, 0xc
test al, al
je 0x407a08
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], edi
xor bl, bl
call fcn.0044658e
add dword [ebp + 8], 0xe
mov eax, dword [ebp + 8]
cmp word [eax], 0x3f
jne 0x4078d4
mov ecx, dword [ebp + 0xc]
add dword [ebp + 8], 2
push edi
push 0x2c
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 8]
push eax
inc bl
call fcn.0043afff
mov eax, dword [ebp + 8]
cmp word [eax], 0x3a
jne 0x4078fc
add dword [ebp + 8], 2
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 8]
push eax
call fcn.004429b2
mov eax, dword [ebp + 8]
cmp word [eax], di
pop ecx
pop ecx
je 0x4078fc
add dword [ebp + 8], 2
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00453c1f
mov eax, dword [ebp + 8]
cmp word [eax], di
pop ecx
pop ecx
je 0x407917
add dword [ebp + 8], 2
mov ecx, dword [ebp - 0x24]
mov eax, section.flag_dat
cdq
add ecx, eax
adc dword [ebp - 0x20], edx
test bl, bl
mov dword [ebp - 0x24], ecx
je 0x407991
cmp dword [ebp - 0x14], edi
jl 0x40796c
jg 0x407939
cmp dword [ebp - 0x18], 8
jb 0x407946
mov eax, dword [ecx]
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xc], eax
jmp 0x407976
cmp dword [ebp - 0x14], edi
jl 0x40796c
jg 0x407953
cmp dword [ebp - 0x18], 4
jb 0x40795a
mov eax, dword [ecx]
mov dword [ebp - 0xc], edi
jmp 0x407973
cmp dword [ebp - 0x14], edi
jl 0x40796c
jg 0x407967
cmp dword [ebp - 0x18], 2
jb 0x40796c
movzx eax, word [ecx]
jmp 0x40796f
movzx eax, byte [ecx]
cdq
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], eax
push 0x4c6b48
push dword [ebp - 0x30]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
call fcn.00448bfa
add esp, 0x14
jmp 0x4079f8
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00453c1f
cmp dword [ebp - 0x14], edi
pop ecx
pop ecx
jl 0x4079f0
jg 0x4079ad
cmp dword [ebp - 0x18], 8
jb 0x4079c0
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 4], eax
jmp 0x4079f8
cmp dword [ebp - 0x14], edi
jl 0x4079f0
jg 0x4079cd
cmp dword [ebp - 0x18], 4
jb 0x4079d7
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x10]
mov dword [eax], ecx
jmp 0x4079f8
cmp dword [ebp - 0x14], edi
jl 0x4079f0
jg 0x4079e4
cmp dword [ebp - 0x18], 2
jb 0x4079f0
mov eax, dword [ebp - 0x24]
mov cx, word [ebp - 0x10]
mov word [eax], cx
jmp 0x4079f8
mov eax, dword [ebp - 0x24]
mov cl, byte [ebp - 0x10]
mov byte [eax], cl
lea ecx, [ebp - 0x30]
call fcn.0043fe25
mov ebx, dword [ebp + 0xc]
jmp 0x407b82
push 0xffffffffffffffff
lea eax, [ebp + 8]
push eax
push 0x4c7698
call fcn.004485c7
add esp, 0xc
test al, al
jne 0x407da0
push 5
push dword [ebp + 8]
push 0x4c7690
call fcn.00441277
add esp, 0xc
test al, al
je 0x407a69
add dword [ebp + 8], esi
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 8]
push eax
mov dword [ebp - 8], edi
call fcn.00405c24
test eax, eax
pop ecx
pop ecx
jle 0x407b82
cmp dword [ebp - 8], edi
setne al
xor al, byte [ebx + 0xd]
and al, 1
xor byte [ebx + 0xd], al
jmp 0x407b82
push 7
push dword [ebp + 8]
push str.DisX64
call fcn.00441277
add esp, 0xc
test al, al
je 0x407de8
lea ecx, [ebp - 0x28]
mov dword [ebp - 8], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
call fcn.0044658e
add dword [ebp + 8], 0xe
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp + 8]
push eax
mov word [ebp - 0x10c], di
mov dword [ebp - 0x2c], edi
xor esi, esi
call fcn.00405c24
test eax, eax
pop ecx
pop ecx
jle 0x407b61
cmp dword [ebp - 0x2c], edi
jle 0x407aea
push edi
push 0x2c
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp + 8]
push eax
mov ecx, ebx
call fcn.0043afff
mov eax, dword [ebp - 0x28]
cmp word [eax], di
je 0x407b61
lea eax, [ebp + 8]
push eax
call fcn.0043fe57
pop ecx
jmp 0x407b07
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00405c24
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0047f1ca
add esp, 0x10
push 0x4e3d84
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp - 0x2c], edi
jl 0x407b41
lea eax, [ebp - 0x3c]
push eax
call fcn.00403f71
push dword [ebp - 0x3c]
movsx eax, al
push eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x10c]
push str._1__u__p
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
jmp 0x407b4f
cmp dword [ebp - 8], edi
je 0x407b4f
push dword [ebp - 0x3c]
call fcn.00403f82
pop ecx
push 0x4e3d84
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor esi, esi
mov byte [ebp - 1], 1
inc esi
lea eax, [ebp - 0x10c]
push eax
push dword [ebp - 0x28]
mov ecx, ebx
call fcn.00445c44
lea ecx, [ebp - 0x28]
call fcn.0043fe25
cmp esi, edi
je 0x407de8
mov eax, dword [ebp + 8]
cmp word [eax], di
mov byte [ebp - 1], 1
jne 0x40742a
jmp 0x407de4
add dword [ebp + 8], 0x14
lea eax, [ebp + 8]
push eax
call fcn.0043fe57
pop ecx
lea ecx, [ebp + 0x10]
call fcn.0044658e
push 1
push edi
lea eax, [ebp + 0x10]
push eax
push dword [ebp + 8]
mov ecx, ebx
call fcn.00457f62
mov eax, dword [ebp + 0x10]
mov dword [ebp + 8], eax
cmp word [eax], 0x2a
jne 0x407bf0
mov ecx, dword [0x4e12b0]
add eax, 2
mov dword [ebp + 8], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 8]
push eax
mov dword [ebp - 0x1c], ecx
call fcn.00453e89
mov eax, dword [ebp - 0x1c]
pop ecx
pop ecx
mov dword [0x4e12b0], eax
mov eax, dword [0x4e12b4]
mov dword [ebp - 0x44], eax
mov eax, dword [0x4e12b8]
mov dword [ebp - 0x40], eax
xor eax, eax
lea edi, [ebp - 0x3c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp + 8]
push eax
call fcn.004495d7
mov eax, dword [ebp - 0x44]
mov dword [0x4e12b4], eax
mov eax, dword [ebp - 0x40]
pop ecx
pop ecx
mov dword [0x4e12b8], eax
lea ecx, [ebp + 0x10]
call fcn.0043fe25
jmp 0x407de4
mov ecx, dword [ebp + 8]
add ecx, 8
mov dword [ebp + 8], ecx
xor al, al
cmp word [ecx], 0x2a
jne 0x407c46
inc al
movsx eax, al
push eax
lea eax, [ecx + eax*2]
push eax
mov ecx, ebx
call fcn.00453846
jmp 0x407de4
add dword [ebp + 8], 0x16
lea eax, [ebp + 8]
push eax
call fcn.0043fe57
pop ecx
lea ecx, [ebp + 0x10]
call fcn.0044658e
lea eax, [ebp + 0x10]
push eax
call fcn.004572b3
pop ecx
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp + 8]
call fcn.00445c44
jmp 0x407c26
cmp byte [0x4e2ce4], 0
jne 0x407de4
mov eax, dword [ebp + 8]
add eax, 0x16
push eax
call fcn.00406cc4
mov byte [0x4e2ce4], al
jmp 0x407de3
push ebx
push dword [ebp + 8]
call fcn.00407152
jmp 0x407de2
add dword [ebp + 8], 0xe
mov eax, dword [ebp + 8]
mov ax, word [eax]
cmp ax, 0x3a
je 0x407cd0
cmp ax, 0x3d
jne 0x407cd4
add dword [ebp + 8], 2
mov edi, dword [ebp + 0xc]
lea eax, [ebp + 0x10]
push eax
xor esi, esi
lea eax, [ebp + 8]
inc esi
push eax
mov dword [ebp + 0x10], esi
call fcn.00453e89
xor ebx, ebx
cmp dword [ebp + 0x10], ebx
pop ecx
pop ecx
jg 0x407cf8
mov dword [ebp + 0x10], esi
jmp 0x407d03
push 3
pop eax
cmp dword [ebp + 0x10], eax
jl 0x407d03
mov dword [ebp + 0x10], eax
dec dword [ebp + 0x10]
mov eax, dword [ebp + 8]
mov ax, word [eax]
or ax, 0x20
cmp ax, 0x63
jne 0x407d1c
add dword [ebp + 8], 2
mov ebx, esi
mov eax, dword [ebp + 8]
mov ax, word [eax]
xor esi, esi
cmp ax, 0x2c
je 0x407d30
cmp ax, 0x3b
jne 0x407d53
add dword [ebp + 8], 2
mov esi, dword [ebp + 8]
push 0x2c
lea eax, [ebp + 8]
call fcn.00414c4e
mov eax, dword [ebp + 8]
cmp word [eax], 0
pop ecx
je 0x407d53
and word [eax], 0
add dword [ebp + 8], 2
push dword [ebp + 8]
push 0x4c766c
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x407d67
xor edi, edi
test esi, esi
je 0x407d94
test ebx, ebx
mov eax, dword [ebp + 0x10]
je 0x407d7b
mov eax, dword [eax*4 + 0x4e1110]
jmp 0x407d82
mov eax, dword [eax*4 + 0x4e1104]
push 0x4c6b48
push esi
push eax
push dword [ebp + 0xc]
call fcn.00448c29
add esp, 0x10
mov eax, dword [ebp + 0x10]
mov dword [eax*4 + 0x4e2c14], edi
jmp 0x407de4
mov eax, dword [ebp + 8]
mov dword [ebp + 0x10], eax
lea eax, [ebp + 0x10]
push eax
call fcn.00405c44
mov eax, dword [ebp + 0x10]
cmp word [eax], di
pop ecx
je 0x407dcc
mov word [eax], di
add dword [ebp + 0x10], 2
lea eax, [ebp + 0x10]
push eax
call fcn.0043fe57
mov eax, dword [ebp + 0x10]
pop ecx
mov ecx, dword [ebp + 8]
cmp word [ecx], 0x2d
jne 0x407dd9
add dword [ebp + 8], 2
push eax
push dword [ebp + 8]
call sym.PECMD.exe_LoadEnvi
pop ecx
pop ecx
mov al, 1
jmp 0x407deb
mov al, byte [ebp - 1]
pop edi
pop esi
pop ebx
leave
ret