Function at 0x44e61b
Capabilities:
Parse credit card information
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf8
mov al, byte [ecx + 9]
push ebx
push esi
xor esi, esi
cmp dword [ebp + 0x10], esi
push edi
setl byte [ebp - 6]
and al, 0x11
cmp byte [ebp - 6], 0
mov dword [ebp - 0x10], ecx
mov byte [ebp - 5], al
jne 0x44e647
test byte [ebp + 0x14], 0x80
je 0x44e64b
mov byte [ebp - 5], 0
mov eax, dword [ebp + 0x18]
and byte [ebp + 0x14], 1
cmp eax, esi
mov byte [ebp - 7], 0
mov byte [ebp - 8], 0
je 0x44e663
mov al, byte [eax]
mov byte [ebp - 8], al
push 0x50
pop eax
push eax
lea ecx, [ebp - 0xc]
mov dword [ebp - 0x2c], eax
call fcn.0043fdb8
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 0x10]
push eax
push dword [ebp + 0xc]
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x30], esi
call fcn.00446c7c
mov esi, dword [ebp + 8]
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x24]
jae 0x44ec3c
cmp word [esi], 0
je 0x44ec3c
lea ecx, [ebp - 0x54]
call fcn.00446d6e
push 0x25
pop edi
cmp word [esi], di
je 0x44e6f1
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 4]
sar ecx, 1
jmp 0x44e6ec
mov ax, word [esi]
test ax, ax
je 0x44e6a3
cmp ax, di
je 0x44e6a3
mov edx, dword [ebp - 4]
mov word [edx], ax
add dword [ebp - 4], 2
inc esi
inc esi
dec ecx
jns 0x44e6d3
jmp 0x44e6a3
cmp byte [ebp + 0x14], 0
mov dword [ebp + 8], esi
je 0x44e90a
lea edx, [esi + 2]
mov cx, word [edx]
cmp cx, di
jne 0x44e718
mov eax, dword [ebp - 4]
mov word [eax], di
add dword [ebp - 4], 2
add esi, 4
jmp 0x44e6a3
cmp cx, 0x23
jne 0x44e75a
mov eax, dword [ebx + 0x3c]
add esi, 4
test eax, eax
je 0x44e6a0
mov ecx, dword [ebx + 0x38]
mov eax, dword [eax + ecx*4 + 8]
mov cx, word [eax]
test cx, cx
je 0x44e6a0
mov edx, dword [ebp - 4]
mov word [edx], cx
add dword [ebp - 4], 2
inc eax
inc eax
xor ecx, ecx
mov cx, word [eax]
test cx, cx
jne 0x44e73f
jmp 0x44e6a3
cmp cx, 0x2a
jne 0x44e7b2
mov eax, dword [ebx + 0x3c]
add esi, 4
test eax, eax
je 0x44e6a0
mov ecx, dword [ebx + 0x38]
push dword [eax + ecx*4]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov edi, eax
lea eax, [edi + 2]
push eax
lea ecx, [ebp - 0x54]
call fcn.00446cf3
dec edi
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ecx + eax*4]
js 0x44e6a0
lea ecx, [edi + 1]
mov dx, word [eax]
mov edi, dword [ebp - 4]
mov word [edi], dx
add dword [ebp - 4], 2
inc eax
inc eax
dec ecx
jne 0x44e79b
jmp 0x44e6a3
cmp cx, 0x40
jne 0x44e80c
mov eax, dword [ebx + 0x3c]
add esi, 4
test eax, eax
je 0x44e6a0
mov ecx, dword [ebx + 0x38]
push dword [eax + ecx*4 + 4]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov edi, eax
lea eax, [edi + 2]
push eax
lea ecx, [ebp - 0x54]
call fcn.00446cf3
dec edi
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ecx + eax*4 + 4]
js 0x44e6a0
lea ecx, [edi + 1]
mov dx, word [eax]
mov edi, dword [ebp - 4]
mov word [edi], dx
add dword [ebp - 4], 2
inc eax
inc eax
dec ecx
jne 0x44e7f5
jmp 0x44e6a3
push ecx
call fcn.0043f865
add esp, 4
test al, al
jne 0x44e83a
cmp cx, 0x7e
jb 0x44e90a
xor eax, eax
mov ax, word [esi + 4]
push eax
call fcn.0043f865
add esp, 4
test al, al
je 0x44e90a
and dword [ebp - 0x18], 0
cmp cx, 0x7e
jb 0x44e849
mov dword [ebp - 0x18], edi
mov esi, edx
xor ecx, ecx
mov dword [ebp - 0x38], ecx
jmp 0x44e878
push 0
push 0xa
push dword [ebp - 0x38]
push ecx
call fcn.0049a8f0
mov ecx, eax
mov eax, edx
mov dword [ebp + 8], eax
movzx eax, di
cdq
add ecx, eax
mov eax, dword [ebp + 8]
adc eax, edx
add ecx, 0xffffffd0
adc eax, 0xffffffff
mov dword [ebp - 0x38], eax
inc esi
inc esi
xor edi, edi
mov di, word [esi]
push edi
call fcn.0043f865
add esp, 4
test al, al
jne 0x44e850
mov eax, dword [ebx + 0x38]
cdq
cmp dword [ebp - 0x38], edx
ja 0x44e6a0
jb 0x44e8a3
cmp ecx, eax
jae 0x44e6a0
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x44e6a0
mov edi, dword [eax + ecx*4]
push edi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
cmp dword [ebp - 0x18], 0
mov dword [ebp + 8], eax
je 0x44e8d7
cmp word [edi], 0x22
jne 0x44e8d7
cmp word [edi + eax*2 - 2], 0x22
jne 0x44e8d2
dec dword [ebp + 8]
dec dword [ebp + 8]
inc edi
inc edi
mov eax, dword [ebp + 8]
add eax, 2
push eax
lea ecx, [ebp - 0x54]
call fcn.00446cf3
dec dword [ebp + 8]
js 0x44e6a0
mov eax, dword [ebp + 8]
inc eax
mov cx, word [edi]
mov edx, dword [ebp - 4]
mov word [edx], cx
add dword [ebp - 4], 2
inc edi
inc edi
dec eax
jne 0x44e8f3
jmp 0x44e6a3
lea edi, [esi + 2]
mov esi, edi
jmp 0x44e913
inc esi
inc esi
cmp word [esi], 0x26
je 0x44e911
push 7
push str.RANDOM_
push esi
call dword [sym.imp.SHLWAPI.dll_StrCmpNIW]
test eax, eax
jne 0x44e938
call fcn.0043c0b2
and edx, 0x7fffffff
jmp 0x44e952
push 7
push str.__THIS_
push esi
call dword [sym.imp.SHLWAPI.dll_StrCmpNIW]
test eax, eax
jne 0x44e9bc
lea eax, [ebx + 0x75bd036]
xor edx, edx
and word [ebp - 0xf8], 0
push edx
push eax
lea eax, [ebp - 0xf8]
push eax
add esi, 0xe
call fcn.0048ca22
and word [ebp - 0x56], 0
add esp, 0xc
lea eax, [ebp - 0xf8]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov edi, eax
cmp edi, 1
jge 0x44e989
xor edi, edi
lea eax, [edi + 2]
push eax
lea ecx, [ebp - 0x54]
call fcn.00446cf3
dec edi
lea eax, [ebp - 0xf8]
js 0x44e6a0
lea ecx, [edi + 1]
mov dx, word [eax]
mov edi, dword [ebp - 4]
mov word [edi], dx
add dword [ebp - 4], 2
inc eax
inc eax
dec ecx
jne 0x44e9a5
jmp 0x44e6a3
mov esi, edi
jmp 0x44e9ce
cmp ax, 0x25
je 0x44e9d6
cmp ax, 0x3d
je 0x44e9d6
inc esi
inc esi
mov ax, word [esi]
test ax, ax
jne 0x44e9c0
mov ecx, dword [ebp + 8]
mov eax, esi
sub eax, ecx
sar eax, 1
cmp word [esi], 0x25
mov dword [ebp - 0x14], eax
movsx eax, byte [ebp - 5]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x34], ecx
mov byte [ebp + 0xb], 0
mov dword [ebp - 0x20], eax
jne 0x44eb6b
cmp byte [ebp - 6], 0
jne 0x44ea37
mov ax, word [edi]
cmp ax, 0x26
je 0x44ea18
cmp byte [ebp - 5], 0
je 0x44ea37
cmp ax, 0x5e
je 0x44ea37
inc esi
mov ebx, edi
inc esi
cmp word [ebx], 0x26
mov dword [ebp - 0x28], ebx
jne 0x44eadb
inc ebx
inc ebx
mov dword [ebp - 0x20], 1
jmp 0x44eadb
inc esi
mov ebx, edi
inc esi
cmp word [ebx], 0x5e
jne 0x44ea47
inc ebx
inc ebx
mov byte [ebp + 0xb], 8
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0xc]
and word [eax], 0
cmp byte [ebp - 8], 0
jne 0x44eac7
push 0
call dword [sym.imp.KERNEL32.DLL_SetLastError]
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
push dword [ebp - 0xc]
and word [eax], 0
push ebx
call dword [sym.imp.KERNEL32.DLL_GetEnvironmentVariableW]
mov edi, eax
test edi, edi
jle 0x44eaa6
mov eax, dword [ebp - 0xc]
cmp word [eax], 0
jne 0x44eaa6
add edi, 0x64
push edi
lea ecx, [ebp - 0xc]
mov dword [ebp - 0x2c], edi
call fcn.0043fddf
push 0
call dword [sym.imp.KERNEL32.DLL_SetLastError]
push edi
push dword [ebp - 0xc]
push ebx
call dword [sym.imp.KERNEL32.DLL_GetEnvironmentVariableW]
mov edi, eax
mov eax, dword [ebp - 0x18]
mov word [eax], 0x25
call dword [sym.imp.KERNEL32.DLL_GetLastError]
test edi, edi
jg 0x44ebdd
cmp eax, 0xcb
jne 0x44ebdd
cmp byte [ebp + 0xb], 0
jne 0x44eb55
cmp byte [ebp - 6], 0
mov byte [ebp + 0xb], 1
jne 0x44eb55
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
and word [edi], 0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x28]
call fcn.00413e55
test eax, eax
mov word [edi], 0x25
jne 0x44eb11
cmp dword [ebp - 0x20], eax
jne 0x44e6a0
cmp byte [ebp + 0xb], al
jne 0x44eb49
mov byte [ebp + 0xb], 1
jmp 0x44ea4a
mov edi, dword [eax]
push edi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov ebx, eax
lea eax, [ebx + 2]
push eax
lea ecx, [ebp - 0x54]
call fcn.00446cf3
dec ebx
js 0x44e6a0
lea eax, [ebx + 1]
mov cx, word [edi]
mov edx, dword [ebp - 4]
mov word [edx], cx
add dword [ebp - 4], 2
inc edi
inc edi
dec eax
jne 0x44eb32
jmp 0x44e6a0
cmp byte [ebp - 5], 1
je 0x44e6a0
jmp 0x44eb69
cmp byte [ebp - 5], 1
jne 0x44eb63
xor al, al
je 0x44e6a0
dec esi
dec esi
xor al, al
je 0x44eb6b
dec esi
dec esi
mov eax, dword [ebp - 0x14]
add eax, 3
push eax
lea ecx, [ebp - 0x54]
call fcn.00446cf3
cmp word [esi], 0x25
jne 0x44ebb6
lea ecx, [esi + 2]
mov ax, word [ecx]
cmp ax, 0x25
je 0x44ebb1
cmp ax, 0x2a
je 0x44ebb1
cmp ax, 0x40
je 0x44ebb1
cmp ax, 0x23
je 0x44ebb1
cmp ax, 0x7e
je 0x44ebb1
push eax
call fcn.0043f865
add esp, 4
test al, al
je 0x44ebb6
inc dword [ebp - 0x14]
mov esi, ecx
dec dword [ebp - 0x14]
js 0x44e6a0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
inc ecx
mov dx, word [eax]
mov edi, dword [ebp - 4]
mov word [edi], dx
add dword [ebp - 4], 2
inc eax
inc eax
dec ecx
jne 0x44ebc6
jmp 0x44e6a0
cmp dword [ebp + 0x18], 0
je 0x44ec04
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x92], 0
jne 0x44ec04
push 0x25
push dword [ebp - 0xc]
call dword [sym.imp.SHLWAPI.dll_StrChrW]
test eax, eax
je 0x44ec04
mov eax, dword [ebp + 0x18]
mov byte [eax], 1
test edi, edi
jle 0x44ec0c
mov byte [ebp - 7], 1
mov ebx, dword [ebp - 0xc]
lea eax, [edi + 2]
push eax
lea ecx, [ebp - 0x54]
call fcn.00446cf3
dec edi
js 0x44e6a0
lea eax, [edi + 1]
mov cx, word [ebx]
mov edx, dword [ebp - 4]
mov word [edx], cx
add dword [ebp - 4], 2
inc ebx
inc ebx
dec eax
jne 0x44ec25
jmp 0x44e6a0
and word [eax], 0
cmp byte [ebp - 7], 0
jne 0x44ec59
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x44ec59
cmp byte [ebx + 0x92], 0
jne 0x44ec59
mov byte [eax], 1
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + 0xc]
sar eax, 1
inc eax
inc eax
push eax
call fcn.0043fddf
mov esi, dword [ebp - 4]
sub esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0xc]
sar esi, 1
call fcn.00439cfd
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0x14