Function at 0x425c69
Capabilities:
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x34c
mov eax, dword [0x54b3f0]
xor eax, ebp
mov dword [ebp + 0x74], eax
mov eax, dword [edi + 8]
or dword [ebp - 0x2b4], 0xffffffff
xor edx, edx
push ebx
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], edx
mov eax, dword [edi + 8]
mov ebx, dword [edi + 0xc]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x2c4], eax
movzx eax, word [ebx]
push esi
xor esi, esi
mov dword [ebp - 0x2c8], ecx
mov dword [ebp - 0x2b0], edx
mov dword [ebp - 0x2bc], edx
mov dword [ebp - 0x2c0], edx
mov dword [ebp - 0x2cc], edx
mov dword [ebp - 0x2d0], edx
cmp ax, dx
jne 0x425cdc
push 0xfffffffffffffffe
mov dword [ecx + 8], edx
mov dword [ecx], edx
pop eax
jmp 0x426337
mov dword [ebp - 0x2b8], eax
cmp eax, edx
je 0x4263bb
jmp 0x425cee
xor edx, edx
cmp esi, edx
je 0x425d4c
push dword [ebp - 0x2b8]
push str.__t_n_r__
call fcn.004d92b1
pop ecx
pop ecx
test eax, eax
je 0x4263a7
mov ecx, dword [edi + 0xc]
mov eax, ebx
sub eax, ecx
sar eax, 1
sub eax, esi
cmp dword [ebp - 0x2b4], 0
jne 0x425d2b
lea eax, [eax + esi - 1]
mov dword [edi], esi
mov dword [edi + 4], eax
jmp 0x425d3e
push eax
lea eax, [ecx + esi*2]
mov ecx, dword [ebp - 0x2c8]
push eax
add ecx, 0x10
call fcn.00404493
xor esi, esi
mov dword [ebp - 0x2d0], esi
mov dword [ebp - 0x2cc], esi
xor edx, edx
cmp dword [ebp - 0x2bc], edx
je 0x425fb8
mov eax, dword [ebp - 0x2b8]
cmp eax, 0x3e
jne 0x425e43
test byte [ebp - 0x2b0], 0xc0
jne 0x425e62
mov ecx, dword [ebp - 0x2c0]
mov eax, ebx
sub eax, dword [edi + 0xc]
sar eax, 1
mov dword [ebp - 0x2c4], eax
cmp ecx, 1
jne 0x425dda
mov dword [ebp - 0x2bc], edx
cmp dword [ebp - 0x2b4], ecx
jne 0x425e31
cmp dword [ebp - 0x2cc], 0x2f
jne 0x425e31
cmp dword [ebp - 0x2d0], edx
je 0x425dcb
push dword [ebp - 0x2d0]
push 0x531384
call fcn.004d92b1
pop ecx
pop ecx
test eax, eax
je 0x425e31
mov eax, dword [ebp - 0x2c8]
or dword [eax + 0xc], 0x10000
jmp 0x425e31
cmp eax, ecx
jle 0x425e24
lea eax, [ecx + ecx]
mov edx, ebx
sub edx, eax
mov dword [ebp - 0x2b8], ecx
mov ecx, dword [ebp - 0x2bc]
lea eax, [edx + 2]
sub ecx, eax
mov dword [ebp - 0x2d4], ecx
jmp 0x425e04
mov ecx, dword [ebp - 0x2d4]
dec dword [ebp - 0x2b8]
je 0x425e1d
mov dx, word [eax]
mov cx, word [ecx + eax]
add eax, 2
cmp dx, cx
je 0x425dfe
jmp 0x425e24
and dword [ebp - 0x2bc], 0
cmp dword [ebp - 0x2bc], 0
jne 0x4263a7
test byte [ebp - 0x2b0], 0x20
je 0x426319
jmp 0x4263a7
cmp eax, 0x3c
jne 0x425e62
cmp dword [ebp - 0x2b4], 2
je 0x42646d
cmp dword [ebp - 0x2b4], 0xffffffff
je 0x42646d
test byte [ebp - 0x2b4], 1
je 0x425f60
test byte [ebp - 0x2b0], 0xc0
je 0x425ebb
cmp eax, 0x22
jne 0x425e99
test byte [ebp - 0x2b0], 0x80
je 0x425f49
xor dword [ebp - 0x2b0], 0x80
jmp 0x425f49
cmp eax, 0x27
jne 0x425f49
test byte [ebp - 0x2b0], 0x40
je 0x425f49
xor dword [ebp - 0x2b0], 0x40
jmp 0x425f49
cmp eax, 0x22
jne 0x425ed8
test dword [ebp - 0x2b0], 0x100
je 0x425f49
xor dword [ebp - 0x2b0], 0x180
jmp 0x425f49
cmp eax, 0x27
jne 0x425ef5
test dword [ebp - 0x2b0], 0x100
je 0x425f49
xor dword [ebp - 0x2b0], 0x140
jmp 0x425f49
cmp eax, 0x3d
jne 0x425f17
cmp dword [ebp - 0x2cc], eax
je 0x425f17
mov ecx, 0x100
test dword [ebp - 0x2b0], ecx
jne 0x425f17
xor dword [ebp - 0x2b0], ecx
jmp 0x425f49
test dword [ebp - 0x2b0], 0x100
je 0x425f49
push dword [ebp - 0x2b8]
push 0x531394
call fcn.004d92b1
pop ecx
test eax, eax
mov eax, dword [ebp - 0x2b8]
pop ecx
jne 0x425f49
xor dword [ebp - 0x2b0], 0x100
mov ecx, dword [ebp - 0x2cc]
mov dword [ebp - 0x2d0], ecx
mov dword [ebp - 0x2cc], eax
jmp 0x4263a7
test byte [ebp - 0x2b4], 0x40
je 0x4263a7
cmp dword [ebp - 0x2b8], 0x22
jne 0x425f92
test byte [ebp - 0x2b0], 0x40
jne 0x4263a7
xor dword [ebp - 0x2b0], 0x80
jmp 0x4263a7
cmp dword [ebp - 0x2b8], 0x27
jne 0x4263a7
test byte [ebp - 0x2b0], 0x80
jne 0x4263a7
xor dword [ebp - 0x2b0], 0x40
jmp 0x4263a7
cmp dword [ebp - 0x2b0], edx
je 0x426348
test byte [ebp - 0x2b0], 0x10
je 0x42600a
cmp dword [ebp - 0x2b8], 0x3c
je 0x426478
push dword [ebp - 0x2b8]
push 0x5313a0
call fcn.004d92b1
pop ecx
pop ecx
test eax, eax
jne 0x4263a7
xor dword [ebp - 0x2b0], 0x10
mov dword [ebp - 0x2bc], 0x5313ac
jmp 0x426393
test byte [ebp - 0x2b0], 1
je 0x42610a
mov ecx, dword [ebp - 0x2b8]
xor eax, eax
inc eax
xor dword [ebp - 0x2b0], eax
cmp ecx, 0x60
ja 0x4260e8
cmp ecx, 0x40
jbe 0x42603d
cmp ecx, 0x5b
jb 0x4260e8
cmp ecx, 0x5f
je 0x4260e8
cmp ecx, 0x3a
je 0x4260e8
cmp ecx, 0x2f
jne 0x42606c
mov dword [ebp - 0x2bc], 0x5313b4
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2b4], edx
jmp 0x4260a0
cmp ecx, 0x21
jne 0x42607d
or dword [ebp - 0x2b0], 2
jmp 0x4263a7
cmp ecx, 0x3f
jne 0x4260ad
mov dword [ebp - 0x2bc], 0x5313b8
mov dword [ebp - 0x2c0], 2
mov dword [ebp - 0x2b4], 0x10
mov esi, ebx
sub esi, dword [edi + 0xc]
sar esi, 1
inc esi
jmp 0x4263a7
push dword [ebp - 0x2c4]
lea eax, [ebp - 0x2ac]
push 0x5313c4
push 0x5313ec
push eax
mov dword [ebp - 0x2bc], 0x5313c0
mov dword [ebp - 0x2c0], 1
call fcn.004dd552
lea eax, [ebp - 0x2ac]
jmp 0x4262b7
mov esi, ebx
sub esi, dword [edi + 0xc]
mov dword [ebp - 0x2bc], 0x5313b0
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2b4], eax
sar esi, 1
jmp 0x4263a7
test byte [ebp - 0x2b0], 2
je 0x4261d9
xor dword [ebp - 0x2b0], 2
cmp dword [ebp - 0x2b8], 0x2d
jne 0x426133
or dword [ebp - 0x2b0], 4
jmp 0x4263a7
cmp dword [ebp - 0x2b8], 0x5b
jne 0x426151
test byte [ebp - 0x2b0], 0x20
jne 0x42616f
or dword [ebp - 0x2b0], 8
jmp 0x4263a7
cmp dword [ebp - 0x2b8], 0x44
jne 0x42616f
test byte [ebp - 0x2b0], 0x20
jne 0x42616f
or dword [ebp - 0x2b0], 0x20
jmp 0x4263a7
push dword [ebp - 0x2b8]
push 0x531420
call fcn.004d92b1
pop ecx
pop ecx
mov dword [ebp - 0x2c0], 1
test eax, eax
je 0x4261a8
mov dword [ebp - 0x2bc], 0x531428
mov dword [ebp - 0x2b4], 0x40
jmp 0x4263a7
push dword [ebp - 0x2c4]
lea eax, [ebp - 0x1e4]
push 0x531430
push 0x53143c
push eax
mov dword [ebp - 0x2bc], 0x53142c
call fcn.004dd552
lea eax, [ebp - 0x1e4]
jmp 0x4262b7
test byte [ebp - 0x2b0], 4
je 0x42624d
xor dword [ebp - 0x2b0], 4
cmp dword [ebp - 0x2b8], 0x2d
jne 0x426215
mov dword [ebp - 0x2bc], 0x531470
mov dword [ebp - 0x2c0], 3
mov dword [ebp - 0x2b4], 0x20
jmp 0x4263a7
push dword [ebp - 0x2c4]
lea eax, [ebp - 0x11c]
push 0x53147c
push str.Incorrect__s_at_offset__d
push eax
mov dword [ebp - 0x2bc], 0x531478
mov dword [ebp - 0x2c0], 1
call fcn.004dd552
lea eax, [ebp - 0x11c]
jmp 0x4262b7
test byte [ebp - 0x2b0], 8
je 0x4262d5
push 8
pop eax
xor dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b8], 0x43
jne 0x426287
mov dword [ebp - 0x2bc], 0x5314c8
mov dword [ebp - 0x2c0], 3
mov dword [ebp - 0x2b4], eax
jmp 0x4263a7
push dword [ebp - 0x2c4]
lea eax, [ebp - 0x54]
push 0x5314d4
push 0x5314dc
push eax
mov dword [ebp - 0x2bc], 0x5314d0
mov dword [ebp - 0x2c0], 1
call fcn.004dd552
lea eax, [ebp - 0x54]
mov ecx, dword [ebp - 0x2c8]
add esp, 0x10
push eax
add ecx, 0x10
call fcn.00404501
or dword [ebp - 0x2b4], 0xffffffff
jmp 0x4263a7
test byte [ebp - 0x2b0], 0x20
je 0x4263a7
cmp dword [ebp - 0x2b8], 0x3c
jne 0x4262f7
or dword [ebp - 0x2b0], 1
jmp 0x4263a7
cmp dword [ebp - 0x2b8], 0x3e
jne 0x4263a7
sub ebx, dword [edi + 0xc]
mov dword [ebp - 0x2b4], 0x40
sar ebx, 1
mov dword [ebp - 0x2c4], ebx
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x2c8]
inc eax
mov dword [edi + 8], eax
sub eax, dword [ecx + 4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x2b4]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x74]
pop esi
xor ecx, ebp
pop ebx
call fcn.004d5ddb
add ebp, 0x78
leave
ret
cmp dword [ebp - 0x2b8], 0x3c
jne 0x42635d
mov dword [ebp - 0x2b0], 1
jmp 0x4263a7
push dword [ebp - 0x2b8]
mov dword [ebp - 0x2b4], 4
push str.__t_n_r
call fcn.004d92b1
pop ecx
pop ecx
test eax, eax
je 0x426389
mov dword [ebp - 0x2b0], 0x10
jmp 0x4263a7
mov dword [ebp - 0x2bc], 0x53151c
mov dword [ebp - 0x2b4], 2
mov dword [ebp - 0x2c0], 1
add ebx, 2
movzx eax, word [ebx]
mov dword [ebp - 0x2b8], eax
test eax, eax
jne 0x425cec
sub ebx, dword [edi + 0xc]
sar ebx, 1
dec ebx
cmp dword [ebp - 0x2b4], 4
mov dword [ebp - 0x2c4], ebx
je 0x426319
cmp dword [ebp - 0x2b4], 2
je 0x426319
test byte [ebp - 0x2b0], 0x20
mov ecx, 0x53128c
jne 0x426435
mov eax, dword [ebp - 0x2b4]
cmp eax, 0x40
je 0x426435
cmp eax, 1
jne 0x426406
mov ecx, str.Element_tag
jmp 0x42643a
test eax, eax
jne 0x426411
mov ecx, str.Element_end_tag
jmp 0x42643a
cmp eax, 8
jne 0x42641d
mov ecx, str.CDATA_Section
jmp 0x42643a
cmp eax, 0x10
jne 0x426429
mov ecx, str.Processing_instruction
jmp 0x42643a
cmp eax, 0x20
jne 0x42643a
mov ecx, str.Comment
jmp 0x42643a
mov ecx, str.Doctype
mov esi, dword [ebp - 0x2c8]
push dword [esi + 4]
or dword [ebp - 0x2b4], 0xffffffff
push ecx
lea eax, [ebp - 0x54]
push str._s_at_offset__d_unterminated
push eax
call fcn.004dd552
add esp, 0x10
lea eax, [ebp - 0x54]
push eax
lea ecx, [esi + 0x10]
call fcn.00404501
jmp 0x426319
sub ebx, dword [edi + 0xc]
sar ebx, 1
dec ebx
jmp 0x426313
sub ebx, dword [edi + 0xc]
mov dword [ebp - 0x2b4], 4
sar ebx, 1
dec ebx
jmp 0x426313