Function at 0x493ee0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34c
mov eax, dword [0x4e0240]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 8]
xor edx, edx
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov dword [esi + 4], eax
mov dword [esi + 0xc], edx
mov eax, dword [ecx + 8]
push edi
mov edi, dword [ecx + 0xc]
mov dword [ebp - 0x340], eax
lea eax, [edi + eax*2]
movzx edi, word [eax]
or ebx, 0xffffffff
mov dword [ebp - 0x33c], ecx
mov dword [ebp - 0x338], esi
mov dword [ebp - 0x328], edx
mov dword [ebp - 0x32c], edx
mov dword [ebp - 0x334], edx
mov dword [ebp - 0x344], edx
mov dword [ebp - 0x348], edx
mov dword [ebp - 0x34c], edx
mov dword [ebp - 0x330], eax
test di, di
jne 0x493f70
pop edi
mov dword [esi + 8], edx
mov dword [esi], edx
pop esi
lea eax, [edx - 2]
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046e452
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x4943a4
jmp 0x493f80
cmp dword [ebp - 0x344], 0
je 0x494089
push edi
push str.__t_n_r__
call fcn.0046db37
add esp, 8
test eax, eax
je 0x49411a
mov esi, dword [ebp - 0x330]
mov ecx, dword [ebp - 0x33c]
sub esi, dword [ecx + 0xc]
mov eax, dword [ebp - 0x344]
sar esi, 1
xor edx, edx
sub esi, eax
cmp ebx, edx
jne 0x493fd0
mov dword [ecx], eax
lea eax, [esi + eax - 1]
mov dword [ecx + 4], eax
jmp 0x494071
mov eax, dword [ebp - 0x338]
cmp esi, edx
jl 0x4947e0
mov eax, dword [eax + 0x10]
mov edx, dword [eax - 8]
mov ecx, 1
sub ecx, dword [eax - 4]
sub edx, esi
or ecx, edx
jge 0x494001
mov ecx, dword [ebp - 0x338]
push esi
add ecx, 0x10
call fcn.00401485
mov ecx, dword [ebp - 0x33c]
mov edx, dword [ecx + 0xc]
lea eax, [esi + esi]
push eax
mov eax, dword [ebp - 0x344]
lea ecx, [edx + eax*2]
mov eax, dword [ebp - 0x338]
mov edx, dword [eax + 0x10]
push ecx
push edx
call fcn.0046d5f0
add esp, 0xc
mov eax, esi
cmp esi, 0xffffffff
jne 0x49404b
mov eax, dword [ebp - 0x338]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax - 8]
test eax, eax
je 0x494053
push ecx
push eax
call fcn.00470c6c
add esp, 8
test eax, eax
js 0x4947e0
mov ecx, dword [ebp - 0x338]
mov edx, dword [ecx + 0x10]
cmp eax, dword [edx - 8]
jg 0x4947e0
mov dword [edx - 0xc], eax
mov ecx, dword [ecx + 0x10]
xor edx, edx
mov word [ecx + eax*2], dx
mov dword [ebp - 0x344], edx
mov dword [ebp - 0x34c], edx
mov dword [ebp - 0x348], edx
mov edx, dword [ebp - 0x328]
cmp dword [ebp - 0x32c], 0
je 0x49432e
cmp edi, 0x3e
jne 0x494195
test dl, 0xc0
jne 0x4941ac
mov ecx, dword [ebp - 0x33c]
mov eax, dword [ebp - 0x330]
sub eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x334]
sar eax, 1
mov dword [ebp - 0x340], eax
cmp ecx, 1
jne 0x494134
mov dword [ebp - 0x32c], 0
cmp ebx, ecx
jne 0x494187
cmp dword [ebp - 0x348], 0x2f
jne 0x494187
mov eax, dword [ebp - 0x34c]
test eax, eax
je 0x49410b
push eax
push 0x4c2720
call fcn.0046db37
mov edx, dword [ebp - 0x328]
add esp, 8
test eax, eax
je 0x494187
mov eax, dword [ebp - 0x338]
or dword [eax + 0xc], 0x10000
jmp 0x494187
mov eax, dword [ebp - 0x330]
mov edx, dword [ebp - 0x328]
add eax, 2
mov dword [ebp - 0x330], eax
jmp 0x49438d
cmp eax, ecx
jle 0x494380
mov ecx, dword [ebp - 0x334]
mov esi, dword [ebp - 0x330]
lea eax, [ecx + ecx]
sub esi, eax
lea eax, [esi + 2]
mov esi, ecx
mov ecx, dword [ebp - 0x32c]
sub ecx, eax
lea ebx, [ebx]
dec esi
je 0x49417d
mov dx, word [eax]
mov di, word [ecx + eax]
add eax, 2
cmp dx, di
mov edx, dword [ebp - 0x328]
je 0x494160
jmp 0x494380
mov dword [ebp - 0x32c], 0
test dl, 0x20
je 0x49470d
jmp 0x494380
cmp edi, 0x3c
jne 0x4941ac
cmp ebx, 2
je 0x4947ea
cmp ebx, 0xffffffff
je 0x4947ea
test bl, 1
je 0x4942fd
test dl, 0xc0
je 0x49421c
cmp edi, 0x22
jne 0x4941ea
test dl, dl
jns 0x4942e6
mov eax, dword [ebp - 0x348]
xor edx, 0x80
mov dword [ebp - 0x328], edx
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x348], edi
jmp 0x494380
cmp edi, 0x27
jne 0x4942e6
test dl, 0x40
je 0x4942e6
mov eax, dword [ebp - 0x348]
xor edx, 0x40
mov dword [ebp - 0x328], edx
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x348], edi
jmp 0x494380
cmp edi, 0x22
jne 0x494250
test edx, 0x100
je 0x4942e6
mov eax, dword [ebp - 0x348]
xor edx, 0x180
mov dword [ebp - 0x328], edx
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x348], edi
jmp 0x494380
cmp edi, 0x27
jne 0x494284
test edx, 0x100
je 0x4942e6
mov eax, dword [ebp - 0x348]
xor edx, 0x140
mov dword [ebp - 0x328], edx
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x348], edi
jmp 0x494380
cmp edi, 0x3d
jne 0x4942bc
cmp dword [ebp - 0x348], edi
je 0x4942bc
test edx, 0x100
jne 0x4942c4
mov eax, dword [ebp - 0x348]
xor edx, 0x100
mov dword [ebp - 0x328], edx
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x348], edi
jmp 0x494380
test edx, 0x100
je 0x4942e6
push edi
push str.__t_n_r
call fcn.0046db37
add esp, 8
test eax, eax
jne 0x4942e0
xor dword [ebp - 0x328], 0x100
mov edx, dword [ebp - 0x328]
mov eax, dword [ebp - 0x348]
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x348], edi
jmp 0x494380
test bl, 0x40
je 0x494380
cmp edi, 0x22
jne 0x49431a
test dl, 0x40
jne 0x494380
xor edx, 0x80
mov dword [ebp - 0x328], edx
jmp 0x494380
cmp edi, 0x27
jne 0x494380
test dl, dl
js 0x494380
xor edx, 0x40
mov dword [ebp - 0x328], edx
jmp 0x494380
test edx, edx
je 0x49473e
test dl, 0x10
je 0x4943ec
cmp edi, 0x3c
je 0x494801
push edi
push str.__t_n_r
call fcn.0046db37
add esp, 8
test eax, eax
jne 0x49437a
xor dword [ebp - 0x328], 0x10
mov ebx, 2
mov dword [ebp - 0x334], 1
mov dword [ebp - 0x32c], 0x4c271c
mov edx, dword [ebp - 0x328]
add dword [ebp - 0x330], 2
mov eax, dword [ebp - 0x330]
movzx edi, word [eax]
test edi, edi
jne 0x493f80
mov esi, dword [ebp - 0x338]
mov ecx, dword [ebp - 0x33c]
sub eax, dword [ecx + 0xc]
sar eax, 1
dec eax
mov dword [ebp - 0x340], eax
cmp ebx, 4
je 0x49470d
cmp ebx, 2
je 0x49470d
mov eax, 0x4c2714
test dl, 0x20
jne 0x4947ab
cmp ebx, 0x40
je 0x4947ab
cmp ebx, 1
jne 0x49477c
mov eax, 0x4c26fc
jmp 0x4947b0
test dl, 1
je 0x49450c
mov ecx, 1
xor edx, ecx
mov dword [ebp - 0x328], edx
cmp edi, 0x60
ja 0x4944de
cmp edi, 0x40
jbe 0x494419
cmp edi, 0x5b
jb 0x4944de
cmp edi, 0x5f
je 0x4944de
cmp edi, 0x3a
je 0x4944de
cmp edi, 0x2f
jne 0x494444
mov dword [ebp - 0x32c], 0x4c26f8
mov dword [ebp - 0x334], ecx
xor ebx, ebx
jmp 0x494473
cmp edi, 0x21
jne 0x494457
or edx, 2
mov dword [ebp - 0x328], edx
jmp 0x494380
cmp edi, 0x3f
jne 0x494491
mov dword [ebp - 0x32c], 0x4c26f0
mov dword [ebp - 0x334], 2
lea ebx, [edi - 0x2f]
mov eax, dword [ebp - 0x330]
mov esi, dword [ebp - 0x33c]
sub eax, dword [esi + 0xc]
sar eax, 1
add eax, ecx
mov dword [ebp - 0x344], eax
jmp 0x494380
mov dword [ebp - 0x334], ecx
mov ecx, dword [ebp - 0x340]
push ecx
push str.tag_name_character
lea edx, [ebp - 0x324]
push str.Incorrect__s_at_offset__d
push edx
mov dword [ebp - 0x32c], 0x4c26f8
call fcn.004709da
mov ecx, dword [ebp - 0x338]
add esp, 0x10
lea eax, [ebp - 0x324]
add ecx, 0x10
push eax
call fcn.00401d77
or ebx, 0xffffffff
jmp 0x49437a
mov eax, dword [ebp - 0x330]
mov dword [ebp - 0x334], ecx
mov ebx, ecx
mov ecx, dword [ebp - 0x33c]
sub eax, dword [ecx + 0xc]
mov dword [ebp - 0x32c], 0x4c26f8
sar eax, 1
mov dword [ebp - 0x344], eax
jmp 0x494380
test dl, 2
je 0x4945ce
xor edx, 2
mov dword [ebp - 0x328], edx
cmp edi, 0x2d
jne 0x494531
or edx, 4
mov dword [ebp - 0x328], edx
jmp 0x494380
cmp edi, 0x5b
jne 0x494549
test dl, 0x20
jne 0x494561
or edx, 8
mov dword [ebp - 0x328], edx
jmp 0x494380
cmp edi, 0x44
jne 0x494561
test dl, 0x20
jne 0x494561
or edx, 0x20
mov dword [ebp - 0x328], edx
jmp 0x494380
push edi
push 0x4c268c
call fcn.0046db37
add esp, 8
mov dword [ebp - 0x32c], 0x4c26f8
mov dword [ebp - 0x334], 1
test eax, eax
je 0x494591
mov ebx, 0x40
jmp 0x49437a
mov edx, dword [ebp - 0x340]
push edx
push str.__tag
lea eax, [ebp - 0x25c]
push str.Incorrect__s_at_offset__d
push eax
call fcn.004709da
mov ecx, dword [ebp - 0x338]
add esp, 0x10
lea edx, [ebp - 0x25c]
add ecx, 0x10
push edx
call fcn.00401d77
or ebx, 0xffffffff
jmp 0x49437a
test dl, 4
je 0x49464e
xor edx, 4
mov dword [ebp - 0x328], edx
cmp edi, 0x2d
jne 0x4945fd
mov dword [ebp - 0x32c], 0x4c2678
mov dword [ebp - 0x334], 3
lea ebx, [edi - 0xd]
jmp 0x494380
mov eax, dword [ebp - 0x340]
push eax
push str.comment_tag
lea ecx, [ebp - 0x194]
push str.Incorrect__s_at_offset__d
push ecx
mov dword [ebp - 0x32c], 0x4c26f8
mov dword [ebp - 0x334], 1
call fcn.004709da
mov ecx, dword [ebp - 0x338]
add esp, 0x10
lea edx, [ebp - 0x194]
add ecx, 0x10
push edx
call fcn.00401d77
or ebx, 0xffffffff
jmp 0x49437a
test dl, 8
je 0x4946ce
xor edx, 8
mov dword [ebp - 0x328], edx
cmp edi, 0x43
jne 0x49467d
mov dword [ebp - 0x32c], 0x4c2658
mov dword [ebp - 0x334], 3
lea ebx, [edi - 0x3b]
jmp 0x494380
mov eax, dword [ebp - 0x340]
push eax
push 0x4c2714
lea ecx, [ebp - 0xcc]
push str.Incorrect__s_at_offset__d
push ecx
mov dword [ebp - 0x32c], 0x4c26f8
mov dword [ebp - 0x334], 1
call fcn.004709da
mov ecx, dword [ebp - 0x338]
add esp, 0x10
lea edx, [ebp - 0xcc]
add ecx, 0x10
push edx
call fcn.00401d77
or ebx, 0xffffffff
jmp 0x49437a
test dl, 0x20
je 0x494380
cmp edi, 0x3c
jne 0x4946ea
or edx, 1
mov dword [ebp - 0x328], edx
jmp 0x494380
cmp edi, 0x3e
jne 0x494380
mov eax, dword [ebp - 0x330]
mov ecx, dword [ebp - 0x33c]
sub eax, dword [ecx + 0xc]
lea ebx, [edi + 2]
sar eax, 1
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x340]
mov ecx, dword [ebp - 0x338]
mov edx, dword [ebp - 0x33c]
inc eax
mov dword [edx + 8], eax
sub eax, dword [ecx + 4]
mov dword [ecx], ebx
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.0046e452
mov esp, ebp
pop ebp
ret
cmp edi, 0x3c
jne 0x494752
mov dword [ebp - 0x328], 1
jmp 0x49437a
push edi
push str.__t_n_r
mov ebx, 4
call fcn.0046db37
add esp, 8
test eax, eax
je 0x494361
mov dword [ebp - 0x328], 0x10
jmp 0x49437a
test ebx, ebx
jne 0x494787
mov eax, str.Element_end_tag
jmp 0x4947b0
cmp ebx, 8
jne 0x494793
mov eax, str.CDATA_Section
jmp 0x4947b0
cmp ebx, 0x10
jne 0x49479f
mov eax, str.Processing_instruction
jmp 0x4947b0
cmp ebx, 0x20
jne 0x4947b0
mov eax, str.Comment
jmp 0x4947b0
mov eax, str.Doctype
mov ecx, dword [esi + 4]
push ecx
push eax
lea edx, [ebp - 0xcc]
push str._s_at_offset__d_unterminated
push edx
or ebx, 0xffffffff
call fcn.004709da
add esp, 0x10
lea eax, [ebp - 0xcc]
lea ecx, [esi + 0x10]
push eax
call fcn.00401d77
jmp 0x49470d
push 0x80070057
call fcn.00401000
mov eax, dword [ebp - 0x330]
mov ecx, dword [ebp - 0x33c]
sub eax, dword [ecx + 0xc]
sar eax, 1
dec eax
jmp 0x494707
mov eax, dword [ebp - 0x330]
mov edx, dword [ebp - 0x33c]
sub eax, dword [edx + 0xc]
mov ebx, 4
sar eax, 1
dec eax
jmp 0x494707