Function at 0x44f570
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5c
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [esp], esi
call fcn.004502b5
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x38], ebx
cmp byte [esi], 0x2d
jne 0x44f5e3
inc esi
mov dword [ebp - 0x28], 1
cmp byte [esi], 0x2d
jne 0x44f5e3
inc esi
mov dword [ebp - 0x2c], 1
cmp byte [esi + 1], 0
je 0x44fc29
mov dword [ebp - 0x34], esi
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x3c], ecx
test edi, 2
je 0x44f627
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax]
mov dword [ebp - 0x38], ebx
test ebx, ebx
jne 0x44f608
mov ebx, 0x44f56f
mov dword [ebp - 0x38], ebx
test edi, 1
je 0x44f63d
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + 4]
mov dword [ebp - 0x48], edx
jmp 0x44f63d
mov dword [ebp - 0x1c], 0xfffffffe
jmp 0x44fcf5
test edi, 1
je 0x44f63d
mov eax, dword [ebp - 0x3c]
lea ecx, [eax + 4]
mov dword [ebp - 0x3c], ecx
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
cmp byte [ebx], 0
je 0x44f78b
movzx eax, byte [ebx + 1]
sub al, 0x2b
cmp al, 1
jbe 0x44f662
cmp byte [ebx + 1], 0x7e
je 0x44f662
cmp byte [ebx + 1], 0x25
je 0x44f662
cmp byte [ebx + 1], 0
jne 0x44f665
inc dword [ebp - 0x24]
cmp byte [ebx], 0
je 0x44f78b
cmp byte [ebx], 0x5c
jne 0x44f67b
inc ebx
mov eax, 0
jmp 0x44f696
movsx eax, byte [ebx]
mov dword [esp + 4], eax
mov dword [esp], str.__
call sub.cygwin1.dll_strchr
test eax, eax
setne al
movzx eax, al
test eax, eax
je 0x44f711
cmp byte [esi], 0x2b
jne 0x44f6a8
cmp esi, dword [ebp - 0x34]
je 0x44f780
cmp byte [esi], 0x3d
jne 0x44f6c3
mov dword [ebp - 0x1c], 0xffffffff
test edi, 4
jne 0x44fcf5
inc esi
jmp 0x44f6de
cmp byte [esi], 0
je 0x44f6de
cmp dword [ebp - 0x30], 0
je 0x44f6e8
cmp dword [ebp - 0x28], 0
jne 0x44f6d9
cmp esi, dword [ebp - 0x34]
jne 0x44f744
cmp byte [ebx], 0x26
jne 0x44f744
cmp dword [ebp - 0x30], 0
jne 0x44f78b
cmp byte [esi], 0
je 0x44f78b
cmp byte [ebx], 0x2a
je 0x44f709
cmp byte [ebx], 0x23
je 0x44f709
cmp byte [ebx], 0x3f
je 0x44f709
cmp byte [ebx], 0x26
jne 0x44f78b
cmp byte [ebx + 1], 0x20
je 0x44f744
jmp 0x44f78b
movzx eax, byte [ebx]
cmp al, byte [esi]
jne 0x44f744
cmp byte [esi + 1], 0
jne 0x44f780
cmp byte [ebx + 1], 0
je 0x44f72a
cmp byte [ebx + 1], 0x2c
jne 0x44f780
test edi, 1
je 0x44fbd6
mov eax, dword [ebp - 0x48]
mov dword [eax], 1
jmp 0x44fbd6
cmp byte [ebx], 0x2c
je 0x44f77b
cmp byte [ebx], 0
je 0x44f77b
mov edx, edi
and edx, 3
cmp byte [ebx], 0x26
je 0x44f75d
cmp byte [ebx], 0x7e
jne 0x44f770
cmp edx, 1
jne 0x44f770
mov eax, dword [ebp - 0x3c]
lea ecx, [eax + 4]
mov dword [ebp - 0x3c], ecx
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
inc ebx
cmp byte [ebx], 0x2c
je 0x44f77b
cmp byte [ebx], 0
jne 0x44f753
mov esi, dword [ebp - 0x34]
jmp 0x44f78b
inc ebx
inc esi
cmp byte [ebx], 0
jne 0x44f66e
movsx eax, byte [ebx]
cmp eax, 0x2a
je 0x44f905
cmp eax, 0x2a
jg 0x44f7ca
cmp eax, 0x25
je 0x44fa7a
cmp eax, 0x25
jg 0x44f7bc
test eax, eax
je 0x44f7f3
cmp eax, 0x23
je 0x44faa6
jmp 0x44f665
cmp eax, 0x26
je 0x44fc02
jmp 0x44f665
cmp eax, 0x2c
je 0x44f8c7
cmp eax, 0x2c
jl 0x44f9a9
cmp eax, 0x3f
je 0x44f94e
cmp eax, 0x7e
je 0x44fbe6
jmp 0x44f665
test edi, 2
je 0x44f825
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0xc], 0
je 0x44f825
add eax, 0xc
mov dword [ebp - 0x20], eax
mov ebx, dword [eax]
mov dword [ebp - 0x38], ebx
test edi, 1
je 0x44f81d
mov edx, dword [eax + 4]
mov dword [ebp - 0x48], edx
mov esi, dword [ebp - 0x34]
jmp 0x44f63d
cmp dword [ebp - 0x24], 0
je 0x44fc29
cmp dword [ebp - 0x2c], 0
jne 0x44f877
mov eax, dword [0x4a23e0]
mov dword [esp + 0x14], eax
mov eax, edi
and eax, 0xfffffffe
mov dword [esp + 0x10], eax
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xc], ecx
mov eax, dword [ebp + 8]
mov dword [esp + 8], eax
mov edx, dword [ebp + 0x14]
mov dword [esp + 4], edx
mov ecx, dword [ebp - 0x34]
mov dword [esp], ecx
call fcn.0044fd00
mov dword [ebp - 0x1c], 0xffffffff
cmp eax, 0xffffffff
je 0x44fcf5
cmp dword [ebp - 0x24], 0
je 0x44fc29
cmp dword [ebp - 0x2c], 0
jne 0x44fc29
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov edx, dword [ebp + 0xc]
mov dword [esp + 0xc], edx
mov ecx, dword [ebp + 8]
mov dword [esp + 8], ecx
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x34]
mov dword [esp], edx
call fcn.0044fd00
mov dword [ebp - 0x1c], eax
cmp eax, 0xffffffff
jne 0x44fcf5
jmp 0x44fc29
inc ebx
cmp byte [ebx], 0
je 0x44f61b
movzx eax, byte [ebx + 1]
sub al, 0x2b
cmp al, 1
jbe 0x44f8e1
cmp byte [ebx + 1], 0
jne 0x44f8e4
inc dword [ebp - 0x24]
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x44f665
mov eax, dword [ebp - 0x3c]
lea ecx, [eax + 4]
mov dword [ebp - 0x3c], ecx
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
jmp 0x44f665
cmp byte [esi], 0
jne 0x44f92b
cmp byte [ebx + 1], 0x5f
je 0x44f937
mov eax, dword [ebp + 8]
cmp dword [eax], 1
jle 0x44fc29
dec dword [eax]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
lea eax, [edx + 4]
mov dword [ecx], eax
mov esi, dword [edx + 4]
cmp byte [ebx + 1], 0x5f
je 0x44f937
cmp byte [ebx + 1], 0x20
jne 0x44f938
inc ebx
test edi, 1
je 0x44fbd6
mov eax, dword [ebp - 0x48]
mov dword [eax], esi
jmp 0x44fbd6
cmp byte [esi], 0
jne 0x44f974
cmp byte [ebx + 1], 0x5f
je 0x44f980
mov edx, dword [ebp + 8]
cmp dword [edx], 1
jle 0x44fc29
dec dword [edx]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
lea eax, [edx + 4]
mov dword [ecx], eax
mov esi, dword [edx + 4]
cmp byte [ebx + 1], 0x5f
je 0x44f980
cmp byte [ebx + 1], 0x20
jne 0x44f981
inc ebx
cmp byte [esi], 0
je 0x44f990
cmp byte [esi + 1], 0
jne 0x44faf0
test edi, 1
je 0x44fbd6
movzx eax, byte [esi]
mov edx, dword [ebp - 0x48]
mov byte [edx], al
jmp 0x44fbd6
cmp byte [esi], 0
jne 0x44faf0
cmp ebx, dword [ebp - 0x38]
je 0x44faf0
cmp byte [ebx - 1], 0x2c
je 0x44faf0
cmp byte [ebx + 1], 0x6c
je 0x44f9d1
cmp byte [ebx + 1], 0x4c
jne 0x44fa0e
cmp byte [ebx + 2], 0x6c
je 0x44f9dd
cmp byte [ebx + 2], 0x4c
jne 0x44f9f8
test edi, 1
je 0x44fb70
mov ecx, dword [ebp - 0x48]
add dword [ecx], 1
adc dword [ecx + 4], 0
jmp 0x44fb70
test edi, 1
je 0x44fbb9
mov eax, dword [ebp - 0x48]
inc dword [eax]
jmp 0x44fbb9
cmp byte [ebx + 1], 0x73
je 0x44fa1a
cmp byte [ebx + 1], 0x53
jne 0x44fa35
test edi, 1
je 0x44fbb9
mov edx, dword [ebp - 0x48]
movzx eax, word [edx]
inc eax
mov word [edx], ax
jmp 0x44fbb9
cmp byte [ebx + 1], 0x63
je 0x44fa41
cmp byte [ebx + 1], 0x43
jne 0x44fa57
test edi, 1
je 0x44fbb9
mov ecx, dword [ebp - 0x48]
inc byte [ecx]
jmp 0x44fbb9
cmp byte [ebx + 1], 0x69
je 0x44fa63
cmp byte [ebx + 1], 0x49
jne 0x44fa64
inc ebx
test edi, 1
je 0x44fbd6
mov eax, dword [ebp - 0x48]
inc dword [eax]
jmp 0x44fbd6
cmp byte [esi], 0
jne 0x44faf0
inc ebx
cmp byte [ebx], 0x31
jne 0x44fa8c
mov ecx, 1
jmp 0x44fa96
cmp byte [ebx], 0x30
jne 0x44faf0
mov ecx, 0
mov dword [ebp - 0x18], ecx
mov edx, ecx
sar edx, 0x1f
mov dword [ebp - 0x14], edx
jmp 0x44fb42
cmp byte [esi], 0
jne 0x44facf
cmp byte [ebx + 1], 0x5f
je 0x44fadb
mov ecx, dword [ebp + 8]
cmp dword [ecx], 1
jle 0x44fc29
dec dword [ecx]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
lea eax, [edx + 4]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov esi, dword [edx + 4]
cmp byte [ebx + 1], 0x5f
je 0x44fadb
cmp byte [ebx + 1], 0x20
jne 0x44fadc
inc ebx
lea eax, [ebp - 0x18]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00453760
cmp byte [eax], 0
je 0x44fb3f
cmp byte [ebx], 0x2c
je 0x44fb27
cmp byte [ebx], 0
je 0x44fb27
mov edx, edi
and edx, 3
cmp byte [ebx], 0x26
je 0x44fb09
cmp byte [ebx], 0x7e
jne 0x44fb1c
cmp edx, 1
jne 0x44fb1c
mov eax, dword [ebp - 0x3c]
lea ecx, [eax + 4]
mov dword [ebp - 0x3c], ecx
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
inc ebx
cmp byte [ebx], 0x2c
je 0x44fb27
cmp byte [ebx], 0
jne 0x44faff
mov esi, dword [ebp - 0x34]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp + 8]
mov dword [eax], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x44f665
mov ecx, dword [ebp - 0x18]
cmp byte [ebx + 1], 0x6c
je 0x44fb4e
cmp byte [ebx + 1], 0x4c
jne 0x44fb84
cmp byte [ebx + 2], 0x6c
je 0x44fb5a
cmp byte [ebx + 2], 0x4c
jne 0x44fb75
test edi, 1
je 0x44fb70
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
mov dword [ecx + 4], edx
add ebx, 2
jmp 0x44fbd6
test edi, 1
je 0x44fbb9
mov eax, dword [ebp - 0x48]
mov dword [eax], ecx
jmp 0x44fbb9
cmp byte [ebx + 1], 0x73
je 0x44fb90
cmp byte [ebx + 1], 0x53
jne 0x44fba0
test edi, 1
je 0x44fbb9
mov edx, dword [ebp - 0x48]
mov word [edx], cx
jmp 0x44fbb9
cmp byte [ebx + 1], 0x63
je 0x44fbac
cmp byte [ebx + 1], 0x43
jne 0x44fbbc
test edi, 1
je 0x44fbb9
mov eax, dword [ebp - 0x48]
mov byte [eax], cl
inc ebx
jmp 0x44fbd6
cmp byte [ebx + 1], 0x69
je 0x44fbc8
cmp byte [ebx + 1], 0x49
jne 0x44fbc9
inc ebx
test edi, 1
je 0x44fbd6
mov edx, dword [ebp - 0x48]
mov dword [edx], ecx
mov dword [esp], ebx
call fcn.00450280
mov dword [ebp - 0x1c], eax
jmp 0x44fcf5
cmp byte [esi], 0
jne 0x44faf0
mov dword [ebp - 0x1c], 0xffffffff
cmp dword [ebp - 0x30], 0
jne 0x44fcf5
jmp 0x44fc35
cmp byte [esi], 0
jne 0x44fc35
cmp byte [ebx + 1], 0x5f
je 0x44fc35
mov ecx, dword [ebp + 8]
cmp dword [ecx], 1
jle 0x44fc29
dec dword [ecx]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
lea eax, [edx + 4]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov esi, dword [edx + 4]
jmp 0x44fc35
mov dword [ebp - 0x1c], 0xffffffff
jmp 0x44fcf5
cmp byte [ebx], 0x26
jne 0x44fc40
cmp byte [ebx + 1], 0x5f
je 0x44fc46
cmp byte [ebx + 1], 0x20
jne 0x44fc47
inc ebx
mov dword [esp], ebx
call fcn.00450280
mov ecx, eax
mov dword [ebp - 0x1c], eax
cmp eax, 1
jne 0x44fcf5
mov edx, dword [ebp - 0x34]
cmp dword [ebp - 0x28], 0
je 0x44fc67
dec edx
cmp dword [ebp - 0x2c], 0
je 0x44fc6e
dec edx
mov eax, edi
and eax, 3
cmp eax, 3
jne 0x44fca8
mov eax, dword [ebp - 0x20]
cmp dword [eax + 8], 0
je 0x44f61b
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0xc]
mov dword [esp + 0xc], edx
mov ecx, dword [ebp + 8]
mov dword [esp + 8], ecx
mov edx, eax
mov eax, dword [eax + 4]
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [edx + 8]
jmp 0x44fce7
mov dword [ebp - 0x1c], ecx
test edi, 1
je 0x44fcf5
mov eax, dword [ebp - 0x3c]
lea ecx, [eax + 4]
mov dword [ebp - 0x3c], ecx
mov eax, dword [eax]
mov dword [ebp - 0x1c], 0xfffffffe
cmp dword [ebp - 0x48], 0
je 0x44fcf5
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0xc]
mov dword [esp + 0xc], edx
mov ecx, dword [ebp + 8]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
cmp eax, 0xfffffffd
jne 0x44fcf5
inc ebx
jmp 0x44f665
mov eax, dword [ebp - 0x1c]
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret