Function at 0x739414
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb8
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x44], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x739e75
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
cmp word [eax], 0x1b
jne 0x7394b9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a8]
cmp byte [eax + 0x228], 0
jne 0x7394b9
mov dl, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4a0]
call fcn.0069ee7c
push 0
xor ecx, ecx
mov edx, 0xb014
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a8]
call fcn.0048ad48
push 0
push 0
mov cl, byte [0x739e84]
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a8]
call fcn.00734018
mov eax, dword [ebp - 4]
call fcn.0073929c
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x108]
mov eax, dword [ebp - 4]
call fcn.0073a850
mov eax, dword [ebp - 8]
cmp word [eax], 0x7a
jne 0x7394d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5ac]
call fcn.00716590
mov eax, dword [ebp - 8]
cmp word [eax], 0xd
jne 0x739506
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x468]
jne 0x739506
mov eax, dword [ebp - 8]
mov word [eax], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x468]
mov eax, dword [ebp - 4]
call fcn.0073aed4
mov eax, dword [ebp - 8]
cmp word [eax], 0xd
jne 0x73953c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x588]
jne 0x73953c
mov eax, dword [ebp - 8]
mov word [eax], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x588]
mov eax, dword [ebp - 4]
call fcn.0073aed4
mov eax, dword [ebp - 8]
cmp word [eax], 0x2d
jne 0x73956d
mov al, byte [0x739e84]
cmp al, byte [ebp + 8]
jne 0x73956d
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1056], 0
jne 0x73956d
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.007425dc
mov eax, dword [ebp - 8]
mov word [eax], 0
mov eax, dword [ebp - 8]
cmp word [eax], 0x2e
jne 0x7395a6
mov eax, dword [ebp - 4]
call fcn.0073a418
test al, al
je 0x7395a6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x468]
je 0x7395a6
mov eax, dword [ebp - 4]
call fcn.00739fc4
mov eax, dword [ebp - 8]
mov word [eax], 0
mov eax, dword [ebp - 8]
cmp word [eax], 0xd
jne 0x7395d5
mov eax, dword [ebp - 4]
call fcn.0073a44c
test al, al
je 0x7395d5
test byte [ebp + 8], 4
je 0x7395cd
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0073db0c
jmp 0x7395d5
mov eax, dword [ebp - 4]
call fcn.0073dbe8
mov eax, dword [ebp - 8]
mov ax, word [eax]
add al, 0xcf
sub al, 9
jae 0x73962b
test byte [ebp + 8], 4
je 0x73962b
mov eax, dword [ebp - 4]
call fcn.0073a418
test al, al
je 0x73962b
lea eax, [ebp - 0x48]
mov edx, dword [ebp - 8]
mov dx, word [edx]
call fcn.0040554c
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x588]
call fcn.00489b74
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x588]
mov eax, dword [ebp - 4]
call fcn.0073aed4
mov eax, dword [ebp - 8]
mov word [eax], 0
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp al, 0x46
jne 0x739661
test byte [ebp + 8], 4
je 0x739661
mov eax, dword [ebp - 4]
call fcn.0073a418
test al, al
je 0x739661
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x448]
mov si, 0xffeb
call fcn.0040461c
mov eax, dword [ebp - 8]
mov word [eax], 0
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp al, 0x44
jne 0x739697
test byte [ebp + 8], 4
je 0x739697
mov eax, dword [ebp - 4]
call fcn.0073a418
test al, al
je 0x739697
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44c]
mov si, 0xffeb
call fcn.0040461c
mov eax, dword [ebp - 8]
mov word [eax], 0
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp al, 0x47
jne 0x7396c3
test byte [ebp + 8], 4
je 0x7396c3
mov eax, dword [ebp - 4]
mov dl, byte [eax + 0x5d0]
xor dl, 1
mov eax, dword [ebp - 4]
call fcn.007382b4
mov eax, dword [ebp - 8]
mov word [eax], 0
test byte [ebp + 8], 4
je 0x73978e
mov eax, dword [ebp - 4]
call fcn.0073a44c
test al, al
je 0x73978e
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp al, 0x42
jne 0x739718
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x410]
mov dl, byte [eax + 0x170]
xor dl, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x410]
call fcn.0069ee7c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x410]
mov eax, dword [ebp - 4]
call fcn.0073aed4
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp al, 0x49
jne 0x739753
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x414]
mov dl, byte [eax + 0x170]
xor dl, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x414]
call fcn.0069ee7c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x414]
mov eax, dword [ebp - 4]
call fcn.0073aed4
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp al, 0x55
jne 0x73978e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x418]
mov dl, byte [eax + 0x170]
xor dl, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x418]
call fcn.0069ee7c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x418]
mov eax, dword [ebp - 4]
call fcn.0073aed4
mov eax, dword [ebp - 4]
call fcn.0073a390
test al, al
je 0x7397b4
mov eax, dword [ebp - 8]
cmp word [eax], 0x2e
jne 0x7397b4
test byte [ebp + 8], 1
je 0x7397b4
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
call fcn.0073e9b0
mov eax, dword [ebp - 4]
call fcn.0073a3c4
test al, al
je 0x7397da
mov eax, dword [ebp - 8]
cmp word [eax], 0x2d
jne 0x7397da
test byte [ebp + 8], 4
je 0x7397da
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
call fcn.0073e9f4
mov eax, dword [ebp - 4]
call fcn.0073a3f8
test al, al
je 0x739800
mov eax, dword [ebp - 8]
cmp word [eax], 0x2d
jne 0x739800
test byte [ebp + 8], 1
je 0x739800
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
call fcn.0073ebcc
mov eax, dword [ebp - 8]
cmp word [eax], 0x21
jne 0x739837
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4ec]
mov eax, dword [eax + 0x20c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov edx, dword [eax + 0xc]
sub edx, 0xc8
mov eax, dword [ebp - 0x38]
call fcn.004a2740
mov eax, dword [ebp - 8]
mov word [eax], 0
mov eax, dword [ebp - 8]
cmp word [eax], 0x22
jne 0x73986e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4ec]
mov eax, dword [eax + 0x20c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax + 0xc]
add edx, 0xc8
mov eax, dword [ebp - 0x3c]
call fcn.004a2740
mov eax, dword [ebp - 8]
mov word [eax], 0
cmp dword [0x830760], 0
jle 0x739e5f
mov eax, dword [ebp - 8]
cmp word [eax], 0x26
jne 0x73988d
mov dword [ebp - 0x10], 0xffffffff
jmp 0x7398c1
mov eax, dword [ebp - 8]
cmp word [eax], 0x28
jne 0x73989f
mov dword [ebp - 0x10], 1
jmp 0x7398c1
mov eax, dword [ebp - 8]
cmp word [eax], 0x25
jne 0x7398b1
mov dword [ebp - 0xc], 0xffffffff
jmp 0x7398c1
mov eax, dword [ebp - 8]
cmp word [eax], 0x27
jne 0x7398c1
mov dword [ebp - 0xc], 1
cmp dword [ebp - 0xc], 0
jne 0x7398d1
cmp dword [ebp - 0x10], 0
je 0x739e5f
test byte [ebp + 8], 4
je 0x7398ec
push 0
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00739e8c
jmp 0x739e5f
test byte [ebp + 8], 1
je 0x739907
push 1
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00739e8c
jmp 0x739e5f
cmp dword [0x830760], 1
jne 0x739e5f
call fcn.00730f9c
push eax
call fcn.00730e40
pop edx
call fcn.004212a4
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0x9c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0xa0]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], 0x2710
xor eax, eax
mov dword [ebp - 0x34], eax
call fcn.00730e40
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x739cad
inc eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x14], 0
call fcn.00730e40
mov edx, dword [ebp - 0x14]
call fcn.004212a4
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp byte [eax + 0x60], 0
jne 0x739ca1
mov eax, dword [ebp - 0x30]
cmp byte [eax + 0x58], 2
je 0x739ca1
mov dword [ebp - 0x2c], 0x2710
cmp dword [ebp - 0xc], 0
je 0x739b2f
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0xa0]
cmp eax, dword [ebp - 0x1c]
jge 0x739a00
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0xa0]
mov edx, dword [ebp - 0x1c]
sub edx, eax
mov dword [ebp - 0x2c], edx
jmp 0x739a5a
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
cmp eax, dword [ebp - 0x24]
jle 0x739a1f
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
jmp 0x739a5a
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
cmp eax, dword [ebp - 0x1c]
jg 0x739a4b
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0xa0]
cmp eax, dword [ebp - 0x24]
jl 0x739a4b
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x739a5a
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
cmp eax, dword [ebp - 0x18]
jg 0x739a6e
cmp dword [ebp - 0xc], 1
je 0x739a8b
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0x9c]
cmp eax, dword [ebp - 0x20]
jl 0x739a92
cmp dword [ebp - 0xc], 0xffffffff
jne 0x739a92
mov dword [ebp - 0x2c], 0x2710
cmp dword [ebp - 0xc], 1
jne 0x739ad4
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
cmp eax, dword [ebp - 0x20]
jl 0x739abd
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
add eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
jmp 0x739c8d
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
add eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
jmp 0x739c8d
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0x9c]
cmp eax, dword [ebp - 0x18]
jg 0x739b0d
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0x9c]
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x18]
sub edx, eax
mov dword [ebp - 0x2c], edx
jmp 0x739c8d
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0x9c]
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x20]
sub edx, eax
mov dword [ebp - 0x2c], edx
jmp 0x739c8d
cmp dword [ebp - 0x10], 0
je 0x739c8d
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0x9c]
cmp eax, dword [ebp - 0x18]
jge 0x739b6c
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0x9c]
mov edx, dword [ebp - 0x18]
sub edx, eax
mov dword [ebp - 0x2c], edx
jmp 0x739bc6
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
cmp eax, dword [ebp - 0x20]
jle 0x739b8b
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
jmp 0x739bc6
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
cmp eax, dword [ebp - 0x18]
jg 0x739bb7
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0x9c]
cmp eax, dword [ebp - 0x20]
jl 0x739bb7
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x739bc6
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
cmp eax, dword [ebp - 0x1c]
jg 0x739bda
cmp dword [ebp - 0x10], 1
je 0x739bf7
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0xa0]
cmp eax, dword [ebp - 0x24]
jl 0x739bfe
cmp dword [ebp - 0x10], 0xffffffff
jne 0x739bfe
mov dword [ebp - 0x2c], 0x2710
cmp dword [ebp - 0x10], 1
jne 0x739c3a
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
cmp eax, dword [ebp - 0x24]
jl 0x739c26
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
add eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
jmp 0x739c8d
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
add eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
jmp 0x739c8d
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0xa0]
cmp eax, dword [ebp - 0x1c]
jg 0x739c70
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0xa0]
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x1c]
sub edx, eax
mov dword [ebp - 0x2c], edx
jmp 0x739c8d
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0xa0]
mov edx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x24]
sub edx, eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x28]
jge 0x739ca1
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x14]
dec dword [ebp - 0x40]
jne 0x739992
cmp dword [ebp - 0x34], 0
je 0x739e5f
call fcn.00730f9c
push eax
call fcn.00730e40
pop edx
call fcn.004212a4
mov dword [ebp - 0x30], eax
test byte [ebp + 8], 2
jne 0x739d0f
mov dl, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a8]
call fcn.00732480
mov eax, dword [ebp - 4]
call fcn.0073929c
mov dword [0x830760], 1
mov eax, dword [ebp - 0x34]
mov byte [eax + 0x60], 1
mov dl, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5a8]
call fcn.00732480
jmp 0x739e57
mov ax, word [0x739e88]
and ax, word [0x830754]
mov dx, word [0x739e84]
cmp dx, ax
jne 0x739e57
mov eax, dword [ebp - 0x30]
test byte [eax + 0xcc], 0x20
jne 0x739e57
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x94]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0x9c]
mov edx, dword [ebp - 0x34]
cmp eax, dword [edx + 0x94]
jg 0x739d82
mov eax, dword [ebp - 8]
cmp word [eax], 0x27
jne 0x739d82
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x94]
mov edx, dword [ebp - 0x30]
sub eax, dword [edx + 0x9c]
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x94], eax
jmp 0x739e4c
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x98]
mov edx, dword [ebp - 0x30]
add eax, dword [edx + 0xa0]
mov edx, dword [ebp - 0x34]
cmp eax, dword [edx + 0x98]
jge 0x739dc8
mov eax, dword [ebp - 8]
cmp word [eax], 0x28
jne 0x739dc8
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x98]
mov edx, dword [ebp - 0x30]
sub eax, dword [edx + 0xa0]
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x98], eax
jmp 0x739e4c
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x94]
mov edx, dword [ebp - 0x34]
add eax, dword [edx + 0x9c]
mov edx, dword [ebp - 0x30]
cmp eax, dword [edx + 0x94]
jg 0x739e0b
mov eax, dword [ebp - 8]
cmp word [eax], 0x25
jne 0x739e0b
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x94]
mov edx, dword [ebp - 0x34]
add eax, dword [edx + 0x9c]
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x94], eax
jmp 0x739e4c
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x98]
mov edx, dword [ebp - 0x34]
add eax, dword [edx + 0xa0]
mov edx, dword [ebp - 0x30]
cmp eax, dword [edx + 0x98]
jg 0x739e4c
mov eax, dword [ebp - 8]
cmp word [eax], 0x26
jne 0x739e4c
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x98]
mov edx, dword [ebp - 0x34]
add eax, dword [edx + 0xa0]
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x98], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x108]
mov eax, dword [ebp - 4]
call fcn.0073a850
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x739e7c
lea eax, [ebp - 0x48]
call fcn.00405364
ret