Function at 0x44f060
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x1b4
mov ecx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1bc]
push ebx
push ebp
mov edx, dword [ecx + 8]
push esi
xor esi, esi
mov dword [eax + 4], edx
mov dword [eax + 0xc], esi
mov edx, dword [ecx + 8]
mov ebp, dword [ecx + 0xc]
mov dword [esp + 0x24], edx
add ebp, edx
push edi
xor edi, edi
or ebx, 0xffffffff
mov dl, byte [ebp]
mov dword [esp + 0x10], esi
test dl, dl
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], ebp
jne 0x44f0cc
mov dword [eax + 8], edi
mov dword [eax], edi
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
add esp, 0x1b4
ret
movsx eax, byte [ebp]
test eax, eax
mov dword [esp + 0x14], eax
je 0x44f732
mov eax, dword [esp + 0x20]
test eax, eax
je 0x44f182
movsx eax, byte [esp + 0x14]
push eax
push str.__t_n_r__
call fcn.0045d96f
add esp, 8
test eax, eax
je 0x44f3fb
mov edx, dword [esp + 0x1c8]
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx + 0xc]
sub ebp, eax
sub ebp, ecx
test ebx, ebx
jne 0x44f128
mov dword [edx], ecx
lea ecx, [ecx + ebp - 1]
mov dword [edx + 4], ecx
jmp 0x44f169
mov edx, dword [esp + 0x1cc]
push ebp
lea ecx, [edx + 0x10]
mov edx, dword [esp + 0x24]
lea esi, [eax + edx]
call fcn.004800af
mov ecx, ebp
mov edi, eax
mov eax, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1d0]
add ecx, 0x10
call fcn.004800fe
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c8]
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
test edi, edi
je 0x44f3a9
mov eax, dword [esp + 0x14]
cmp eax, 0x3e
jne 0x44f252
mov edx, dword [esp + 0x10]
test dl, 0xc0
jne 0x44f26d
mov eax, dword [ecx + 0xc]
sub ebp, eax
cmp esi, 1
mov dword [esp + 0x28], ebp
jne 0x44f1f8
xor edi, edi
cmp ebx, esi
mov dword [esp + 0x18], edi
jne 0x44f244
cmp dword [esp + 0x2c], 0x2f
jne 0x44f244
mov eax, dword [esp + 0x30]
test eax, eax
je 0x44f1e8
movsx edx, al
push edx
push str.__t_n_r_
call fcn.0045d96f
mov edx, dword [esp + 0x18]
add esp, 8
test eax, eax
je 0x44f244
mov eax, dword [esp + 0x1cc]
or dword [eax + 0xc], 0x10000
jmp 0x44f244
cmp ebp, esi
jle 0x44f3f7
mov eax, dword [esp + 0x24]
sub eax, esi
lea ebp, [eax + 1]
lea eax, [esi - 1]
test eax, eax
je 0x44f23a
mov ecx, edi
sub ecx, ebp
mov dword [esp + 0x14], ecx
jmp 0x44f21e
mov ecx, dword [esp + 0x14]
mov dl, byte [ebp]
mov cl, byte [ecx + ebp]
inc ebp
cmp dl, cl
jne 0x44f22e
dec eax
jne 0x44f21a
jmp 0x44f236
test eax, eax
jne 0x44f3f7
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
xor edi, edi
mov dword [esp + 0x18], edi
test dl, 0x20
je 0x44f7e8
jmp 0x44f3f7
cmp eax, 0x3c
jne 0x44f269
cmp ebx, 2
je 0x44f7cb
cmp ebx, 0xffffffff
je 0x44f7cb
mov edx, dword [esp + 0x10]
test bl, 1
je 0x44f37b
test dl, 0xc0
je 0x44f2ce
cmp eax, 0x22
jne 0x44f2a4
test dl, 0x80
je 0x44f36d
mov ecx, dword [esp + 0x2c]
xor edx, 0x80
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], eax
jmp 0x44f3f7
cmp eax, 0x27
jne 0x44f36d
test dl, 0x40
je 0x44f36d
mov ecx, dword [esp + 0x2c]
xor edx, 0x40
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], eax
jmp 0x44f3f7
cmp eax, 0x22
jne 0x44f2f7
test dh, 1
je 0x44f36d
mov ecx, dword [esp + 0x2c]
xor edx, 0x180
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], eax
jmp 0x44f3f7
cmp eax, 0x27
jne 0x44f31c
test dh, 1
je 0x44f36d
mov ecx, dword [esp + 0x2c]
xor edx, 0x140
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], eax
jmp 0x44f3f7
cmp eax, 0x3d
jne 0x44f345
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
je 0x44f345
test dh, 1
jne 0x44f34a
xor edx, 0x100
mov dword [esp + 0x30], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x2c], eax
jmp 0x44f3f7
test dh, 1
je 0x44f36d
movsx edx, byte [esp + 0x14]
push edx
push str.__t_n_r
call fcn.0045d96f
add esp, 8
test eax, eax
jne 0x44f369
xor dword [esp + 0x10], 0x100
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
jmp 0x44f3f7
test bl, 0x40
je 0x44f3f7
cmp eax, 0x22
jne 0x44f396
test dl, 0x40
jne 0x44f3f7
xor edx, 0x80
mov dword [esp + 0x10], edx
jmp 0x44f3f7
cmp eax, 0x27
jne 0x44f3f7
test dl, 0x80
jne 0x44f3f7
xor edx, 0x40
mov dword [esp + 0x10], edx
jmp 0x44f3f7
mov eax, dword [esp + 0x10]
test eax, eax
je 0x44f6f1
test al, 0x10
je 0x44f416
mov eax, dword [esp + 0x14]
cmp eax, 0x3c
je 0x44f7d1
movsx edx, al
push edx
push str.__t_n_r
call fcn.0045d96f
add esp, 8
test eax, eax
jne 0x44f3f7
xor dword [esp + 0x10], 0x10
mov edi, 0x4aaabc
mov esi, 1
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
mov ebx, 2
mov ebp, dword [esp + 0x24]
push ebp
call fcn.0045d959
mov ecx, dword [esp + 0x1cc]
add esp, 4
add ebp, eax
mov dword [esp + 0x24], ebp
jmp 0x44f0cc
test al, 1
je 0x44f511
mov edx, dword [esp + 0x14]
xor eax, 1
cmp edx, 0x60
mov dword [esp + 0x10], eax
ja 0x44f4ef
cmp edx, 0x40
jbe 0x44f440
cmp edx, 0x5b
jb 0x44f4ef
cmp edx, 0x5f
je 0x44f4ef
cmp edx, 0x3a
je 0x44f4ef
cmp edx, 0x2f
jne 0x44f477
mov edx, dword [ecx + 0xc]
xor ebx, ebx
sub ebp, edx
mov edi, 0x4aa9ac
mov esi, 1
inc ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], ebp
jmp 0x44f3f7
cmp edx, 0x21
jne 0x44f487
or al, 2
mov dword [esp + 0x10], eax
jmp 0x44f3f7
cmp edx, 0x3f
jne 0x44f4b2
mov edx, dword [ecx + 0xc]
mov edi, 0x4abf5c
sub ebp, edx
mov esi, 2
inc ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
mov ebx, 0x10
mov dword [esp + 0x20], ebp
jmp 0x44f3f7
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x98]
push eax
push str.tag_name_character
mov edi, 0x4aa9ac
mov esi, 1
push str.Incorrect__s_at_offset__d
push ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], esi
call fcn.0045ad75
add esp, 0x10
lea edx, [esp + 0x98]
jmp 0x44f635
mov eax, dword [ecx + 0xc]
mov edi, 0x4aa9ac
mov esi, 1
sub ebp, eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
mov ebx, esi
mov dword [esp + 0x20], ebp
jmp 0x44f3f7
test al, 2
je 0x44f5cd
mov ecx, dword [esp + 0x14]
xor eax, 2
cmp ecx, 0x2d
mov dword [esp + 0x10], eax
jne 0x44f534
or al, 4
mov dword [esp + 0x10], eax
jmp 0x44f3f7
cmp ecx, 0x5b
jne 0x44f548
test al, 0x20
jne 0x44f55c
or al, 8
mov dword [esp + 0x10], eax
jmp 0x44f3f7
cmp ecx, 0x44
jne 0x44f55c
test al, 0x20
jne 0x44f55c
or al, 0x20
mov dword [esp + 0x10], eax
jmp 0x44f3f7
movsx ecx, byte [esp + 0x14]
push ecx
push 0x4ac0e0
call fcn.0045d96f
add esp, 8
mov edi, 0x4aa9ac
mov esi, 1
mov dword [esp + 0x18], edi
test eax, eax
mov dword [esp + 0x1c], esi
je 0x44f58f
mov ebx, 0x40
jmp 0x44f3f7
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x160]
push edx
push str.__tag
push str.Incorrect__s_at_offset__d
push eax
call fcn.0045ad75
mov edx, dword [esp + 0x1dc]
add esp, 0x10
lea ecx, [esp + 0x160]
push ecx
lea ecx, [edx + 0x10]
call fcn.0047fe08
or ebx, 0xffffffff
jmp 0x44f3f7
test al, 4
je 0x44f64d
xor eax, 4
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
cmp eax, 0x2d
jne 0x44f5fd
mov edi, 0x4ac0d4
mov esi, 3
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
mov ebx, 0x20
jmp 0x44f3f7
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0xfc]
push eax
push str.comment_tag
mov edi, 0x4aa9ac
mov esi, 1
push str.Incorrect__s_at_offset__d
push ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], esi
call fcn.0045ad75
add esp, 0x10
lea edx, [esp + 0xfc]
mov eax, dword [esp + 0x1cc]
push edx
lea ecx, [eax + 0x10]
call fcn.0047fe08
or ebx, 0xffffffff
jmp 0x44f3f7
test al, 8
je 0x44f6c7
xor eax, 8
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
cmp eax, 0x43
jne 0x44f67d
mov edi, 0x4ac0c4
mov esi, 3
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
mov ebx, 8
jmp 0x44f3f7
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x34]
push ecx
push 0x4ac0c0
mov edi, 0x4aa9ac
mov esi, 1
push str.Incorrect__s_at_offset__d
push edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], esi
call fcn.0045ad75
mov ecx, dword [esp + 0x1dc]
add esp, 0x10
lea eax, [esp + 0x34]
add ecx, 0x10
push eax
call fcn.0047fe08
or ebx, 0xffffffff
jmp 0x44f3f7
test al, 0x20
je 0x44f3f7
mov edx, dword [esp + 0x14]
cmp edx, 0x3c
jne 0x44f6e3
or al, 1
mov dword [esp + 0x10], eax
jmp 0x44f3f7
cmp edx, 0x3e
je 0x44f7de
jmp 0x44f3f7
cmp dword [esp + 0x14], 0x3c
jne 0x44f705
mov dword [esp + 0x10], 1
jmp 0x44f3f7
movsx edx, byte [esp + 0x14]
push edx
push str.__t_n_r
mov ebx, 4
call fcn.0045d96f
add esp, 8
test eax, eax
je 0x44f3e0
mov dword [esp + 0x10], 0x10
jmp 0x44f3f7
sub ebp, dword [ecx + 0xc]
dec ebp
cmp ebx, 4
je 0x44f7e8
cmp ebx, 2
je 0x44f7e8
mov cl, byte [esp + 0x10]
mov eax, 0x4ac0c0
test cl, 0x20
jne 0x44f796
cmp ebx, 0x40
je 0x44f796
cmp ebx, 1
jne 0x44f767
mov eax, str.Element_tag
jmp 0x44f79b
test ebx, ebx
jne 0x44f772
mov eax, str.Element_end_tag
jmp 0x44f79b
cmp ebx, 8
jne 0x44f77e
mov eax, str.CDATA_Section
jmp 0x44f79b
cmp ebx, 0x10
jne 0x44f78a
mov eax, str.Processing_instruction
jmp 0x44f79b
cmp ebx, 0x20
jne 0x44f79b
mov eax, str.Comment
jmp 0x44f79b
mov eax, str.Doctype
mov esi, dword [esp + 0x1cc]
lea edx, [esp + 0x34]
or ebx, 0xffffffff
mov ecx, dword [esi + 4]
push ecx
push eax
push str._s_at_offset__d_unterminated
push edx
call fcn.0045ad75
add esp, 0x10
lea eax, [esp + 0x34]
lea ecx, [esi + 0x10]
push eax
call fcn.0047fe08
jmp 0x44f7e8
sub ebp, dword [ecx + 0xc]
dec ebp
jmp 0x44f7e8
mov edx, dword [ecx + 0xc]
mov ebx, 4
sub ebp, edx
dec ebp
jmp 0x44f7e8
mov eax, dword [ecx + 0xc]
mov ebx, 0x40
sub ebp, eax
mov ecx, dword [esp + 0x1c8]
lea eax, [ebp + 1]
pop edi
pop esi
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x1c4]
pop ebp
mov edx, dword [ecx + 4]
mov dword [ecx], ebx
sub eax, edx
mov dword [ecx + 8], eax
mov eax, ebx
pop ebx
add esp, 0x1b4
ret