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

Disassembly:
push ebp
push edi
mov edi, edx
push esi
push ebx
mov ebx, eax
add eax, 2
sub esp, 0x35c
mov dword [esp + 0x24], eax
movzx eax, word [ebx]
mov dword [esp + 0x1c], ecx
movzx ebp, byte [esp + 0x370]
mov dword [esp + 0x14], eax
test eax, eax
je 0x44895a
mov eax, dword [esp + 0x374]
and eax, 2
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x374]
and eax, 1
mov ecx, eax
mov dword [esp + 0x28], eax
neg ecx
and ecx, 0x2f
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x374]
and ecx, 0xfffffffb
test eax, eax
mov eax, dword [esp + 0x374]
mov dword [esp + 0x30], ecx
cmovne ecx, dword [esp + 0x374]
and eax, 0x10
mov dword [esp + 0x38], ecx
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x10]
test esi, esi
je 0x4488f9
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call sub.cygwin1.dll_towlower
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
sub eax, 0x21
cmp eax, 0x3b
ja case.0x448905.34
jmp dword [eax*4 + 0x465a10]
test byte [esp + 0x374], 0x20
jne 0x448ff2
nop
cmp dword [esp + 0x1c], edi
je 0x448978
mov edx, dword [esp + 0x10]
movzx eax, word [edi]
test edx, edx
je 0x448939
mov dword [esp], eax
call sub.cygwin1.dll_towlower
cmp eax, dword [esp + 0x14]
jne 0x448978
xor ebp, ebp
mov ebx, dword [esp + 0x24]
add edi, 2
lea eax, [ebx + 2]
mov dword [esp + 0x24], eax
movzx eax, word [ebx]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4488e1
cmp dword [esp + 0x1c], edi
je 0x44930b
test byte [esp + 0x374], 8
jne 0x4492a0
lea esi, [esi]
mov dword [esp + 0x28], 1
mov eax, dword [esp + 0x28]
add esp, 0x35c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x448db0
lea eax, [ebx + 4]
mov dword [esp + 0x24], eax
movzx eax, word [ebx + 2]
mov dword [esp + 0x14], eax
test eax, eax
je 0x448978
mov edx, dword [esp + 0x10]
test edx, edx
je 0x448fe0
mov dword [esp], eax
call sub.cygwin1.dll_towlower
mov dword [esp + 0x14], eax
cmp dword [esp + 0x1c], edi
je 0x448978
movzx eax, word [edi]
mov dword [esp], eax
call sub.cygwin1.dll_towlower
jmp 0x448939
mov eax, dword [0x478784]
test eax, eax
je 0x448e10
cmp dword [esp + 0x1c], edi
je 0x448978
movzx eax, word [edi]
cmp ax, 0x2e
je 0x448de8
cmp ax, 0x2f
jne 0x448a0e
mov esi, dword [esp + 0x28]
test esi, esi
jne 0x448978
movzx edx, word [ebx + 2]
cmp dx, 0x21
je 0x448e00
mov ecx, dword [0x478784]
test ecx, ecx
jns 0x448a30
cmp dx, 0x5e
je 0x448e00
mov dword [esp + 0x3c], 0
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], eax
test edx, edx
je 0x448a54
mov dword [esp], eax
call sub.cygwin1.dll_towlower
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], edi
movzx edx, word [ebx]
lea esi, [ebx + 2]
jmp 0x448a9a
mov dword [esp], edx
call sub.cygwin1.dll_towlower
mov ebx, eax
mov eax, esi
movzx ecx, word [eax]
cmp cx, 0x2d
je 0x448ad1
lea edx, [eax + 2]
mov esi, edx
cmp ebx, dword [esp + 0x20]
je 0x448ea0
movzx edx, cx
cmp cx, 0x2d
je 0x448f50
cmp edx, 0x5d
je 0x449090
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x448aab
cmp edx, 0x5c
je 0x448f68
cmp edx, 0x5b
je 0x448e30
test edx, edx
je 0x4490b0
mov edi, dword [esp + 0x10]
test edi, edi
jne 0x448a60
mov eax, esi
mov ebx, edx
movzx ecx, word [eax]
cmp cx, 0x2d
jne 0x448a75
movzx edi, word [eax + 2]
test di, di
je 0x448a75
cmp di, 0x5d
je 0x448a75
lea ecx, [eax + 4]
movzx ebp, di
cmp di, 0x5c
jne 0x448af8
mov esi, dword [esp + 0x18]
test esi, esi
je 0x448f90
test ebp, ebp
je 0x448978
mov eax, dword [esp + 0x20]
movzx ebx, bx
movzx edx, word [ecx]
lea esi, [ecx + 2]
cmp eax, ebx
jb 0x448a91
cmp ebp, eax
jb 0x448a91
mov edi, dword [esp + 0x34]
mov eax, ecx
mov edx, esi
jmp 0x448ea4
mov eax, dword [esp + 0x374]
and eax, 0x20
mov dword [esp + 0x20], eax
jne 0x449250
mov eax, dword [esp + 0x378]
test eax, eax
jne 0x4493c5
cmp dword [esp + 0x1c], edi
je 0x448b69
cmp word [edi], 0x2e
jne 0x448b69
mov eax, ebp
test al, al
jne 0x448978
lea esi, [ebx + 4]
movzx ebx, word [ebx + 2]
cmp ebx, 0x2a
je 0x448b7a
cmp ebx, 0x3f
jne 0x448bb1
mov eax, dword [esp + 0x20]
test eax, eax
setne dl
lea esi, [esi]
nop
cmp word [esi], 0x28
jne 0x448b96
test dl, dl
jne 0x448d78
cmp ebx, 0x3f
je 0x448ce0
mov eax, esi
movzx ebx, word [eax]
lea esi, [eax + 2]
cmp ebx, 0x3f
je 0x448b88
cmp ebx, 0x2a
je 0x448b88
test ebx, ebx
je 0x4493e5
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov dword [esp], edi
mov dword [esp + 0x14c], 0
sub eax, edi
mov dword [esp + 4], ecx
sar eax, 1
mov dword [esp + 8], eax
call sub.cygwin1.dll_wmemchr
mov ecx, eax
test eax, eax
cmove ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], ecx
cmp ebx, 0x5b
je 0x44935c
mov edx, dword [esp + 0x20]
test edx, edx
jne 0x449338
cmp ebx, 0x2f
je 0x4490c0
mov eax, dword [esp + 0x28]
test eax, eax
mov eax, dword [esp + 0x30]
cmovne eax, dword [esp + 0x374]
mov dword [esp + 0x20], eax
cmp ebx, 0x5c
jne 0x448c31
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x448c31
movzx ebx, word [esi]
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x448fc8
sub esi, 2
cmp dword [esp + 0x14], edi
jbe 0x448978
mov eax, ebp
mov dword [esp + 0x24], esi
mov ebp, edi
mov esi, dword [esp + 0x10]
mov edi, eax
jmp 0x448c6f
add ebp, 2
xor edi, edi
cmp dword [esp + 0x14], ebp
jbe 0x448fa0
movzx eax, word [ebp]
test esi, esi
je 0x448c7f
mov dword [esp], eax
call sub.cygwin1.dll_towlower
cmp ebx, eax
jne 0x448c60
mov eax, dword [esp + 0x37c]
mov edx, ebp
mov dword [esp + 0xc], eax
lea eax, [esp + 0x14c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov eax, edi
movzx ecx, al
mov eax, dword [esp + 0x24]
mov dword [esp], ecx
mov ecx, dword [esp + 0x1c]
call fcn.00448860
test eax, eax
jne 0x448c60
mov ebx, dword [esp + 0x14c]
test ebx, ebx
je 0x44930b
mov edi, dword [esp + 0x150]
movzx ebp, byte [esp + 0x154]
jmp 0x448948
cmp dword [esp + 0x1c], edi
je 0x448978
cmp word [edi], 0x2f
je 0x448d98
add edi, 2
jmp 0x448b9f
test byte [esp + 0x374], 0x20
jne 0x4491f8
cmp dword [esp + 0x1c], edi
je 0x448978
movzx eax, word [edi]
cmp ax, 0x2f
je 0x448dd0
cmp ax, 0x2e
mov ecx, ebp
sete al
and cl, al
mov ebp, ecx
je 0x448941
jmp 0x448978
mov eax, dword [esp + 0x374]
and eax, 5
cmp eax, 5
jne case.0x448905.34
cmp dword [esp + 0x1c], edi
je 0x448978
cmp word [edi], 0x2f
jne 0x448978
mov ebp, 1
jmp 0x448941
mov eax, esi
mov byte [esp + 0x14], dl
call fcn.00447f70
movzx edx, byte [esp + 0x14]
cmp eax, esi
jne 0x448ba1
jmp 0x448b96
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x448cf4
jmp 0x448978
cmp dword [esp + 0x1c], edi
je 0x448978
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4489cc
movzx eax, word [edi]
jmp 0x448939
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x44893f
jmp 0x448978
mov ecx, ebp
test cl, cl
jne 0x448978
movzx edx, word [ebx + 2]
cmp dx, 0x21
jne 0x448a1c
mov dword [esp + 0x3c], 1
add ebx, 4
jmp 0x448a3c
mov dword [esp], str.POSIXLY_CORRECT
call sub.cygwin1.dll_getenv
cmp eax, 1
sbb eax, eax
or eax, 1
mov dword [0x478784], eax
jmp 0x4489e9
movzx ecx, word [esi]
cmp cx, 0x3a
jne 0x448abc
mov ebx, esi
xor edx, edx
jmp 0x448e67
sub ebp, 0x61
cmp ebp, 0x18
ja 0x448e83
add edx, 1
mov word [esp + edx*2 + 0x14a], ax
cmp edx, 0x100
je 0x448978
mov edi, ebx
movzx ebp, word [ebx + 2]
add ebx, 2
mov eax, ebp
cmp bp, 0x3a
jne 0x448e48
cmp word [ebx + 2], 0x5d
je 0x449135
mov eax, esi
mov ebx, 0x5b
lea edx, [eax + 2]
mov esi, edx
cmp ebx, dword [esp + 0x20]
jne 0x448a84
lea esi, [esi]
mov edi, dword [esp + 0x34]
movzx ecx, word [eax]
mov dword [esp + 0x24], edx
cmp ecx, 0x5d
je 0x449320
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x14], edi
jmp 0x448edd
movzx ebx, word [edx]
mov eax, edx
lea edx, [eax + 2]
movzx ecx, bx
cmp bx, 0x5d
je 0x449318
test ecx, ecx
je 0x448978
test ebp, ebp
jne 0x448ef2
cmp ecx, 0x5c
je 0x449048
cmp ecx, 0x5b
jne 0x448ec8
movzx ebx, word [eax + 2]
cmp bx, 0x3a
je 0x4490e5
cmp bx, 0x3d
je 0x449060
cmp bx, 0x2e
jne 0x448ec8
movzx eax, word [edx + 2]
test eax, eax
jne 0x448f37
jmp 0x448978
movzx eax, word [edx + 4]
add edx, 2
test eax, eax
je 0x448978
cmp eax, 0x2e
jne 0x448f28
cmp word [edx + 4], 0x5d
jne 0x448f28
movzx ebx, word [edx + 6]
lea eax, [edx + 6]
jmp 0x448ecd
movzx edi, word [eax + 2]
cmp di, 0x5d
je 0x448abc
jmp 0x448ae0
movzx ebx, word [esi]
test bx, bx
je 0x448978
mov eax, dword [esp + 0x10]
test eax, eax
je 0x448f86
mov dword [esp], ebx
call sub.cygwin1.dll_towlower
mov ebx, eax
lea eax, [esi + 2]
jmp 0x448a6c
movzx ebp, word [eax + 4]
lea ecx, [eax + 6]
jmp 0x448af8
mov ebx, dword [esp + 0x14c]
test ebx, ebx
je 0x448978
mov edi, dword [esp + 0x150]
movzx ebp, byte [esp + 0x154]
jmp 0x448948
mov dword [esp], ebx
call sub.cygwin1.dll_towlower
mov ebx, eax
jmp 0x448c3d
cmp dword [esp + 0x1c], edi
je 0x448978
movzx eax, word [edi]
jmp 0x448939
cmp word [ebx + 2], 0x28
jne case.0x448905.34
mov eax, dword [esp + 0x37c]
mov edx, dword [esp + 0x24]
mov ecx, edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x374]
mov dword [esp + 8], eax
mov eax, ebp
movzx ebp, al
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], ebp
mov dword [esp], eax
mov eax, dword [esp + 0x14]
call fcn.00448180
cmp eax, 0xffffffff
je case.0x448905.34
mov dword [esp + 0x28], eax
jmp 0x448980
cmp word [eax + 2], 0
je 0x448978
movzx ebx, word [eax + 4]
add eax, 4
jmp 0x448ecd
cmp word [eax + 4], 0
je 0x448978
cmp word [eax + 6], 0x3d
jne 0x448978
cmp word [eax + 8], 0x5d
jne 0x448978
movzx ebx, word [eax + 0xa]
add eax, 0xa
jmp 0x448ecd
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
test ebx, ebx
je 0x448978
mov dword [esp + 0x24], esi
jmp 0x44893f
mov edi, dword [esp + 0x34]
jmp 0x448926
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x4492bb
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x448c3d
jmp 0x448fc8
movzx esi, word [edx + 2]
lea ecx, [edx + 2]
add edx, 0x200
mov edi, esi
jmp 0x449119
sub esi, 0x61
cmp esi, 0x18
ja 0x44912a
movzx esi, word [ecx + 2]
add ecx, 2
mov edi, esi
cmp ecx, edx
je 0x448978
cmp di, 0x3a
jne 0x449100
cmp word [ecx + 2], 0x5d
je 0x4493bc
lea ecx, [eax - 2]
lea eax, [ecx + 4]
jmp 0x448ecd
xor ebp, ebp
mov word [esp + edx*2 + 0x14c], bp
lea ebp, [esp + 0x4b]
movzx eax, word [esp + 0x14c]
lea edx, [esp + 0x14c]
mov ecx, ebp
jmp 0x44917f
lea esi, [esp + 0x34c]
cmp edx, esi
je 0x448978
add edx, 2
mov byte [ecx], al
add ecx, 1
movzx eax, word [edx]
test ax, ax
je 0x4491be
cmp ax, 0x5f
ja 0x4491a0
cmp ax, 0x40
ja 0x449160
cmp ax, 0x23
ja 0x4491b0
cmp ax, 0x1f
jbe 0x448978
jmp 0x449160
lea esi, [eax - 0x61]
cmp si, 0x1d
jbe 0x449160
jmp 0x448978
lea esi, [eax - 0x25]
cmp si, 0x1a
jbe 0x449160
jmp 0x448978
mov byte [ecx], 0
mov dword [esp], ebp
call sub.cygwin1.dll_wctype
test eax, eax
je 0x448978
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
movzx eax, word [eax]
mov dword [esp], eax
call sub.cygwin1.dll_iswctype
test eax, eax
jne 0x449434
movzx edx, word [ebx + 4]
lea esi, [ebx + 6]
jmp 0x448a91
cmp word [ebx + 2], 0x28
jne 0x448d0a
mov eax, dword [esp + 0x37c]
mov edx, dword [esp + 0x24]
mov ecx, edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x374]
mov dword [esp + 8], eax
mov eax, ebp
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov eax, 0x3f
call fcn.00448180
cmp eax, 0xffffffff
je 0x448d0a
jmp 0x44903b
cmp word [ebx + 2], 0x28
jne 0x448b44
mov eax, dword [esp + 0x37c]
mov edx, dword [esp + 0x24]
mov ecx, edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x374]
mov dword [esp + 8], eax
mov eax, ebp
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov eax, 0x2a
call fcn.00448180
cmp eax, 0xffffffff
je 0x448b53
jmp 0x44903b
xor eax, eax
cmp word [edi], 0x2f
setne al
mov dword [esp + 0x28], eax
jmp 0x448980
cmp word [edi], 0x2f
je 0x4492c6
add edi, 2
cmp dword [esp + 0x1c], edi
ja 0x4492b2
jmp 0x448978
mov ecx, dword [esp + 0x1c]
cmp ecx, edi
jbe 0x448978
mov eax, dword [esp + 0x37c]
mov dword [esp + 8], 0
lea edx, [edi + 2]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x374]
mov dword [esp + 4], eax
shr eax, 2
and eax, 1
mov dword [esp], eax
mov eax, esi
call fcn.00448860
test eax, eax
jne 0x448978
mov dword [esp + 0x28], 0
jmp 0x448980
mov dword [esp + 0x24], edx
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x44893f
jmp 0x448978
lea eax, [ebx - 0x21]
cmp eax, 0x1f
ja 0x448c02
mov ecx, 0x80000401
bt ecx, eax
jae 0x448c02
cmp word [esi], 0x28
jne 0x448c02
lea ebx, [esi - 2]
cmp dword [esp + 0x14], edi
jbe 0x448978
mov ecx, edi
mov eax, ebp
mov ebp, dword [esp + 0x1c]
mov edi, ebx
lea esi, [esp + 0x14c]
mov ebx, ecx
mov ecx, dword [esp + 0x37c]
movzx eax, al
mov dword [esp + 8], esi
mov edx, ebx
mov dword [esp], eax
mov eax, edi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov ecx, ebp
call fcn.00448860
test eax, eax
je 0x448cbc
add ebx, 2
xor eax, eax
cmp dword [esp + 0x14], ebx
ja 0x44937c
jmp 0x448978
movzx ebx, word [ecx + 4]
jmp 0x44912d
mov eax, dword [esp + 0x378]
mov dword [esp + 0x28], 0
mov dword [eax + 4], edi
mov edi, eax
mov dword [eax], ebx
mov eax, ebp
mov byte [edi + 8], al
jmp 0x448980
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x448980
mov dword [esp + 0x28], 0
test byte [esp + 0x374], 8
jne 0x448980
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], 0x2f
mov dword [esp], edi
sub eax, edi
sar eax, 1
mov dword [esp + 8], eax
call sub.cygwin1.dll_wmemchr
test eax, eax
setne al
movzx eax, al
mov dword [esp + 0x28], eax
jmp 0x448980
mov esi, edi
mov edi, dword [esp + 0x34]
lea eax, [esi + 6]
lea edx, [esi + 8]
jmp 0x448ea4