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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x35c
movzx ebx, byte [esp + 0x370]
mov dword [esp + 0x24], ecx
mov byte [esp + 0x2f], bl
movzx ebx, word [eax]
test bx, bx
je 0x69bbb5
lea ecx, [eax + 2]
mov esi, edx
mov edx, dword [esp + 0x374]
mov edi, eax
mov eax, dword [esp + 0x374]
mov ebp, dword [esp + 0x374]
mov dword [esp + 0x1c], ecx
and edx, 0x20
and eax, 5
and ebp, 0x10
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], edx
test ebp, ebp
je 0x69b428
movzx ebx, bx
mov dword [esp], ebx
call sub.msvcrt.dll_towlower
mov ebx, eax
lea eax, [ebx - 0x21]
cmp ax, 0x3b
jbe 0x69b540
cmp esi, dword [esp + 0x24]
je 0x69b530
mov edi, dword [esp + 0x1c]
movzx ebx, bx
test ebp, ebp
movzx eax, word [esi]
je 0x69b458
mov dword [esp], eax
call sub.msvcrt.dll_towlower
movzx eax, ax
cmp eax, ebx
jne 0x69b530
xor eax, eax
movzx ebx, word [edi]
add esi, 2
lea edx, [edi + 2]
mov dword [esp + 0x1c], edx
test bx, bx
je 0x69bbb7
mov byte [esp + 0x2f], al
jmp 0x69b417
movzx edi, word [ebx]
cmp di, 0x3a
jne 0x69b8c6
mov ecx, ebx
xor edx, edx
jmp 0x69b4b3
lea edi, [eax - 0x61]
cmp di, 0x18
ja 0x69bbf1
mov word [esp + edx*2 + 0x4c], ax
add edx, 1
add ecx, 2
cmp edx, 0x100
je 0x69b530
movzx eax, word [ecx + 2]
cmp ax, 0x3a
jne 0x69b493
cmp word [ecx + 4], 0x5d
jne 0x69b493
lea edi, [ecx + 6]
mov word [esp + edx*2 + 0x4c], 0
lea ebx, [esp + 0x24f]
movzx eax, word [esp + 0x4c]
lea edx, [esp + 0x4c]
mov dword [esp + 0x3c], edi
jmp 0x69b51b
cmp ax, 0x41
jae 0x69b4ff
cmp ax, 0x20
jb 0x69b530
cmp ax, 0x23
jbe 0x69b4ff
lea edi, [eax - 0x25]
cmp di, 0x1a
ja 0x69b530
cmp edx, dword [esp + 0x28]
je 0x69b530
add edx, 2
mov byte [ebx], al
movzx eax, word [edx]
lea edi, [ebx + 1]
test ax, ax
je 0x69bdd9
mov ebx, edi
cmp ax, 0x5f
jbe 0x69b4e4
lea edi, [eax - 0x61]
cmp di, 0x1d
jbe 0x69b4ff
lea esi, [esi]
mov eax, 1
add esp, 0x35c
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, ax
jmp dword [eax*4 + 0x84e050]
test byte [esp + 0x374], 2
je 0x69b880
mov edi, dword [esp + 0x1c]
cmp esi, dword [esp + 0x24]
je 0x69b530
test ebp, ebp
movzx eax, word [esi]
je 0x69b57a
mov dword [esp], eax
call sub.msvcrt.dll_towlower
movzx eax, ax
movzx ebx, bx
cmp eax, ebx
je 0x69b460
jmp 0x69b530
mov ecx, dword [0x865288]
test ecx, ecx
je 0x69ba82
cmp esi, dword [esp + 0x24]
je 0x69b530
movzx eax, word [esi]
cmp ax, 0x2e
mov word [esp + 0x20], ax
je 0x69baa0
cmp word [esp + 0x20], 0x2f
je 0x69bb90
movzx eax, word [edi + 2]
cmp ax, 0x21
je 0x69bab9
mov edx, dword [0x865288]
mov byte [esp + 0x2f], 0
test edx, edx
js 0x69bba3
test ebp, ebp
je 0x69b5f0
movzx eax, word [esp + 0x20]
mov dword [esp], eax
call sub.msvcrt.dll_towlower
mov word [esp + 0x20], ax
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x24c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x38], edi
mov ebx, edx
movzx eax, word [edx]
add ebx, 2
test byte [esp + 0x374], 2
mov edx, eax
sete byte [esp + 0x1c]
lea esi, [esi]
cmp dx, 0x5c
jne 0x69b8b0
cmp byte [esp + 0x1c], 0
je 0x69b8b0
movzx eax, word [ebx]
test ax, ax
je 0x69b530
test ebp, ebp
je 0x69b650
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
movzx edx, word [ebx + 2]
lea edi, [ebx + 2]
cmp dx, 0x2d
je 0x69b8e3
cmp ax, word [esp + 0x20]
je 0x69bc15
cmp dx, 0x2d
lea ebx, [edi + 2]
je 0x69b950
cmp dx, 0x5d
jne 0x69b620
cmp byte [esp + 0x2f], 0
je 0x69b530
mov edi, ebx
xor eax, eax
jmp 0x69b462
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x69bee5
cmp esi, dword [esp + 0x24]
je 0x69b530
movzx edx, word [esi]
cmp dx, 0x2f
je 0x69bad0
xor eax, eax
cmp dx, 0x2e
mov edi, dword [esp + 0x1c]
jne 0x69b462
cmp byte [esp + 0x2f], 0
je 0x69b462
jmp 0x69b530
cmp dword [esp + 0x34], 5
jne case.0x69b543.1
cmp esi, dword [esp + 0x24]
je 0x69b530
cmp word [esi], 0x2f
jne 0x69b530
mov edi, dword [esp + 0x1c]
mov eax, 1
jmp 0x69b462
mov ebx, dword [esp + 0x374]
and ebx, 0x20
mov dword [esp + 0x20], ebx
jne 0x69bea1
cmp dword [esp + 0x24], esi
je 0x69b727
cmp word [esi], 0x2e
je 0x69baf0
movzx edx, word [edi + 2]
lea ebx, [edi + 4]
cmp dx, 0x3f
jne 0x69be2b
mov edi, dword [esp + 0x374]
and edi, 1
jmp 0x69b75a
cmp dx, 0x3f
je 0x69b850
movzx edx, word [ebx]
add ebx, 2
cmp dx, 0x2a
jne 0x69b790
cmp word [ebx], 0x28
jne 0x69b744
mov eax, dword [esp + 0x20]
test eax, eax
je 0x69b744
mov eax, ebx
mov dword [esp + 0x18], edx
call fcn.0069b1d0
mov edx, dword [esp + 0x18]
cmp eax, ebx
je 0x69b744
mov ebx, eax
movzx edx, word [ebx]
add ebx, 2
cmp dx, 0x2a
je 0x69b75a
lea esi, [esi]
cmp dx, 0x3f
je 0x69b75a
test dx, dx
jne 0x69b960
xor eax, eax
test byte [esp + 0x374], 1
je 0x69b535
test byte [esp + 0x374], 8
jne 0x69b535
test esi, esi
je 0x69b535
mov edx, dword [esp + 0x24]
sub edx, esi
sar edx, 1
je 0x69b535
cmp word [esi], 0x2f
mov al, 1
jne 0x69b7ed
jmp 0x69b535
add esi, 2
cmp word [esi], 0x2f
je 0x69bd2d
sub edx, 1
jne 0x69b7e0
xor eax, eax
jmp 0x69b535
mov eax, dword [esp + 0x30]
test eax, eax
je case.0x69b543.1
cmp word [edi + 2], 0x28
jne case.0x69b543.1
mov edx, dword [esp + 0x374]
movzx eax, bx
mov ecx, dword [esp + 0x24]
mov dword [esp + 8], edx
movzx edx, byte [esp + 0x2f]
mov dword [esp], ecx
mov ecx, esi
mov dword [esp + 4], edx
mov edx, dword [esp + 0x1c]
call fcn.006a526c
cmp eax, 0xffffffff
je case.0x69b543.1
jmp 0x69b535
cmp esi, dword [esp + 0x24]
je 0x69b530
cmp word [esi], 0x2f
nop
je 0x69b870
add esi, 2
jmp 0x69b74e
test edi, edi
je 0x69b862
jmp 0x69b530
movzx ebx, word [edi + 2]
add edi, 4
test bx, bx
je 0x69b530
test ebp, ebp
je 0x69b562
movzx ebx, bx
mov dword [esp], ebx
call sub.msvcrt.dll_towlower
mov ebx, eax
jmp 0x69b562
cmp dx, 0x5b
je 0x69b480
test dx, dx
je 0x69bd1c
movzx edi, word [ebx]
test ebp, ebp
je 0x69b940
movzx edx, dx
mov dword [esp], edx
call sub.msvcrt.dll_towlower
mov edx, edi
mov edi, ebx
cmp dx, 0x2d
jne 0x69b661
movzx ecx, word [edi + 2]
test cx, cx
je 0x69b661
cmp cx, 0x5d
je 0x69b661
cmp cx, 0x5c
jne 0x69b907
cmp byte [esp + 0x1c], 0
jne 0x69b930
add edi, 4
test cx, cx
je 0x69b530
cmp cx, word [esp + 0x20]
jae 0x69be40
movzx edx, word [edi]
lea ebx, [edi + 2]
jmp 0x69b679
movzx ecx, word [edi + 4]
add edi, 6
jmp 0x69b90a
mov eax, edx
mov edx, edi
mov edi, ebx
jmp 0x69b657
movzx ecx, word [edi + 2]
cmp cx, 0x5d
jne 0x69b8fa
jmp 0x69b620
mov eax, dword [esp + 0x374]
mov ecx, dword [esp + 0x24]
and eax, 1
mov dword [esp + 0x30], eax
movzx edi, word [esp + 0x30]
mov dword [esp + 0x1c], ecx
neg edi
and edi, 0x2f
test esi, esi
je 0x69b9ba
mov eax, ecx
sub eax, esi
sar eax, 1
je 0x69b9ba
cmp word [esi], di
mov ecx, esi
mov dword [esp + 0x1c], esi
jne 0x69b9ac
jmp 0x69b9ba
add ecx, 2
cmp word [ecx], di
je 0x69bbe1
sub eax, 1
nop
jne 0x69b9a0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], ecx
cmp dx, 0x5b
je 0x69bb26
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x69bb05
cmp dx, 0x2f
je 0x69bcc4
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x374]
test edi, edi
mov dword [esp + 0x20], eax
je 0x69bc02
cmp dx, 0x5c
je 0x69bd06
test ebp, ebp
je 0x69ba0c
movzx edx, dx
mov dword [esp], edx
call sub.msvcrt.dll_towlower
mov edx, eax
sub ebx, 2
mov eax, 1
cmp dword [esp + 0x1c], esi
mov dword [esp + 0x28], ebx
jbe 0x69b535
movzx ebx, byte [esp + 0x2f]
movzx edi, dx
mov edx, ebx
mov ebx, dword [esp + 0x1c]
jmp 0x69ba3f
add esi, 2
cmp ebx, esi
jbe 0x69b530
xor edx, edx
test ebp, ebp
movzx eax, word [esi]
je 0x69ba59
mov dword [esp], eax
mov dword [esp + 0x18], edx
call sub.msvcrt.dll_towlower
mov edx, dword [esp + 0x18]
movzx eax, ax
cmp eax, edi
jne 0x69ba32
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp], edx
mov edx, esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
call fcn.0069b3c0
test eax, eax
jne 0x69ba32
xor eax, eax
jmp 0x69b535
mov dword [esp], str.POSIXLY_CORRECT
call sub.msvcrt.dll_getenv
cmp eax, 1
sbb eax, eax
or eax, 1
mov dword [0x865288], eax
jmp 0x69b595
cmp byte [esp + 0x2f], 0
jne 0x69b530
movzx eax, word [edi + 2]
cmp ax, 0x21
jne 0x69b5c7
lea edx, [edi + 4]
mov dword [esp + 0x1c], edx
mov byte [esp + 0x2f], 1
jmp 0x69b5da
test byte [esp + 0x374], 1
jne 0x69b530
mov edi, dword [esp + 0x1c]
xor eax, eax
jmp 0x69b462
cmp byte [esp + 0x2f], 0
mov eax, 1
je 0x69b727
jmp 0x69b535
cmp dx, 0x2b
je 0x69bb1c
cmp dx, 0x40
nop
je 0x69bb1c
cmp dx, 0x21
jne 0x69b9d0
cmp word [ebx], 0x28
jne 0x69b9d0
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x374]
and edi, 0xfffffffb
test eax, eax
cmovne edi, dword [esp + 0x374]
sub ebx, 2
cmp dword [esp + 0x1c], esi
mov eax, 1
jbe 0x69b535
movzx eax, byte [esp + 0x2f]
mov ebp, dword [esp + 0x24]
jmp 0x69bb6f
add esi, 2
cmp dword [esp + 0x1c], esi
jbe 0x69b530
xor eax, eax
movzx eax, al
mov ecx, ebp
mov dword [esp], eax
mov edx, esi
mov eax, ebx
mov dword [esp + 4], edi
call fcn.0069b3c0
test eax, eax
jne 0x69bb60
xor eax, eax
jmp 0x69b535
test byte [esp + 0x374], 1
je 0x69b5b9
jmp 0x69b530
cmp ax, 0x5e
jne 0x69b5da
lea esi, [esi]
jmp 0x69bab9
mov esi, edx
xor eax, eax
cmp esi, dword [esp + 0x24]
je 0x69b535
test byte [esp + 0x374], 8
mov al, 1
je 0x69b535
xor eax, eax
cmp word [esi], 0x2f
setne al
jmp 0x69b535
test ecx, ecx
cmove ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], ecx
jmp 0x69b9ba
mov eax, 0x5b
mov edx, 0x3a
mov edi, ebx
jmp 0x69b661
mov ecx, dword [esp + 0x374]
and ecx, 0xfffffffb
mov dword [esp + 0x20], ecx
jmp 0x69b9f1
mov eax, edx
mov edx, edi
lea esi, [esi]
test ax, ax
je 0x69b530
cmp ax, 0x5c
jne 0x69bc57
cmp byte [esp + 0x1c], 0
je 0x69bc57
cmp word [edx + 2], 0
je 0x69b530
movzx eax, word [edx + 4]
add edx, 4
test ax, ax
je 0x69b530
cmp ax, 0x5c
je 0x69bc2f
lea ecx, [edx + 2]
cmp ax, 0x5b
mov edi, ecx
je 0x69bc73
cmp ax, 0x5d
je 0x69be86
movzx eax, word [edi]
mov edx, edi
jmp 0x69bc20
movzx eax, word [edx + 2]
cmp ax, 0x3a
je 0x69bd39
cmp ax, 0x3d
je 0x69bda0
add edx, 4
cmp ax, 0x2e
je 0x69bca1
mov edx, ecx
jmp 0x69bc20
cmp word [ecx + 2], 0x5d
je 0x69bcbb
mov edx, ecx
movzx eax, word [edx + 2]
lea ecx, [edx + 2]
test ax, ax
je 0x69b530
cmp ax, 0x2e
je 0x69bc98
mov edx, ecx
jmp 0x69bca1
movzx eax, word [edx + 6]
lea edi, [edx + 8]
jmp 0x69bc62
mov eax, dword [esp + 0x30]
test eax, eax
je 0x69bc02
cmp dword [esp + 0x24], esi
mov eax, 1
jbe 0x69b535
cmp word [esi], 0x2f
je 0x69be55
mov eax, dword [esp + 0x24]
jmp 0x69bcfa
cmp word [esi], 0x2f
je 0x69be55
add esi, 2
cmp eax, esi
ja 0x69bcf0
jmp 0x69b530
test byte [esp + 0x374], 2
jne 0x69b9fb
movzx edx, word [ebx]
jmp 0x69b9fb
mov edi, dword [esp + 0x38]
mov ebx, 0x5b
add edi, 2
jmp 0x69b446
xor eax, eax
test esi, esi
setne al
jmp 0x69b535
lea ebx, [edx + 4]
mov dword [esp + 0x28], ebx
movzx ebx, word [edx + 4]
add edx, 0x202
mov word [esp + 0x3c], ax
mov dword [esp + 0x20], edx
mov word [esp + 0x38], bx
mov ebx, dword [esp + 0x28]
movzx eax, word [esp + 0x38]
jmp 0x69bd81
sub eax, 0x61
cmp ax, 0x18
ja 0x69bdcd
lea edx, [ebx + 2]
movzx eax, word [ebx + 2]
cmp edx, dword [esp + 0x20]
je 0x69b530
mov edi, ebx
mov ebx, edx
cmp ax, 0x3a
jne 0x69bd63
cmp word [edi + 4], 0x5d
jne 0x69bd63
movzx eax, word [edi + 6]
add edi, 8
jmp 0x69bc62
cmp word [edx + 4], 0
je 0x69b530
cmp word [edx + 6], 0x3d
jne 0x69b530
cmp word [edx + 8], 0x5d
jne 0x69b530
movzx eax, word [edx + 0xa]
lea edi, [edx + 0xc]
jmp 0x69bc62
movzx eax, word [esp + 0x3c]
mov edx, ecx
jmp 0x69bc29
mov byte [ebx + 1], 0
lea ebx, [esp + 0x24f]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x18], ecx
mov dword [esp], ebx
call fcn.0069fd90
mov ecx, dword [esp + 0x18]
test ax, ax
je 0x69b530
movzx eax, ax
mov dword [esp + 4], eax
movzx eax, word [esi]
mov dword [esp + 0x18], ecx
mov dword [esp], eax
call sub.msvcrt.dll_iswctype
mov ecx, dword [esp + 0x18]
test eax, eax
jne 0x69be96
movzx edx, word [ecx + 6]
lea ebx, [ecx + 8]
jmp 0x69b679
cmp dx, 0x2a
je 0x69b738
jmp 0x69b796
cmp ax, word [esp + 0x20]
ja 0x69b91e
mov edx, edi
movzx eax, word [edi]
jmp 0x69bc20
mov ecx, dword [esp + 0x374]
xor eax, eax
lea edx, [esi + 2]
mov dword [esp + 4], ecx
and ecx, 4
mov ecx, dword [esp + 0x24]
setne al
mov dword [esp], eax
mov eax, ebx
call fcn.0069b3c0
test eax, eax
setne al
movzx eax, al
jmp 0x69b535
cmp byte [esp + 0x2f], 0
je 0x69b460
jmp 0x69b530
mov edx, edi
movzx eax, word [ecx + 6]
jmp 0x69bc20
cmp word [edi + 2], 0x28
jne 0x69b717
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x374]
mov edx, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov eax, 0x2a
mov dword [esp], ecx
mov ecx, esi
mov dword [esp + 8], ebx
call fcn.006a526c
cmp eax, 0xffffffff
jne 0x69b535
jmp 0x69b717
cmp word [edi + 2], 0x28
jne 0x69b69f
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x374]
mov edx, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov eax, 0x3f
mov dword [esp], ecx
mov ecx, esi
mov dword [esp + 8], ebx
call fcn.006a526c
cmp eax, 0xffffffff
je 0x69b69f
jmp 0x69b535