Function at 0x425c35
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 0x425ca8
push 0xfffffffffffffffe
mov dword [ecx + 8], edx
mov dword [ecx], edx
pop eax
jmp 0x426303
mov dword [ebp - 0x2b8], eax
cmp eax, edx
je 0x426387
jmp 0x425cba
xor edx, edx
cmp esi, edx
je 0x425d18
push dword [ebp - 0x2b8]
push str.__t_n_r__
call fcn.004d92e1
pop ecx
pop ecx
test eax, eax
je 0x426373
mov ecx, dword [edi + 0xc]
mov eax, ebx
sub eax, ecx
sar eax, 1
sub eax, esi
cmp dword [ebp - 0x2b4], 0
jne 0x425cf7
lea eax, [eax + esi - 1]
mov dword [edi], esi
mov dword [edi + 4], eax
jmp 0x425d0a
push eax
lea eax, [ecx + esi*2]
mov ecx, dword [ebp - 0x2c8]
push eax
add ecx, 0x10
call fcn.004043d3
xor esi, esi
mov dword [ebp - 0x2d0], esi
mov dword [ebp - 0x2cc], esi
xor edx, edx
cmp dword [ebp - 0x2bc], edx
je 0x425f84
mov eax, dword [ebp - 0x2b8]
cmp eax, 0x3e
jne 0x425e0f
test byte [ebp - 0x2b0], 0xc0
jne 0x425e2e
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 0x425da6
mov dword [ebp - 0x2bc], edx
cmp dword [ebp - 0x2b4], ecx
jne 0x425dfd
cmp dword [ebp - 0x2cc], 0x2f
jne 0x425dfd
cmp dword [ebp - 0x2d0], edx
je 0x425d97
push dword [ebp - 0x2d0]
push 0x531354
call fcn.004d92e1
pop ecx
pop ecx
test eax, eax
je 0x425dfd
mov eax, dword [ebp - 0x2c8]
or dword [eax + 0xc], 0x10000
jmp 0x425dfd
cmp eax, ecx
jle 0x425df0
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 0x425dd0
mov ecx, dword [ebp - 0x2d4]
dec dword [ebp - 0x2b8]
je 0x425de9
mov dx, word [eax]
mov cx, word [ecx + eax]
add eax, 2
cmp dx, cx
je 0x425dca
jmp 0x425df0
and dword [ebp - 0x2bc], 0
cmp dword [ebp - 0x2bc], 0
jne 0x426373
test byte [ebp - 0x2b0], 0x20
je 0x4262e5
jmp 0x426373
cmp eax, 0x3c
jne 0x425e2e
cmp dword [ebp - 0x2b4], 2
je 0x426439
cmp dword [ebp - 0x2b4], 0xffffffff
je 0x426439
test byte [ebp - 0x2b4], 1
je 0x425f2c
test byte [ebp - 0x2b0], 0xc0
je 0x425e87
cmp eax, 0x22
jne 0x425e65
test byte [ebp - 0x2b0], 0x80
je 0x425f15
xor dword [ebp - 0x2b0], 0x80
jmp 0x425f15
cmp eax, 0x27
jne 0x425f15
test byte [ebp - 0x2b0], 0x40
je 0x425f15
xor dword [ebp - 0x2b0], 0x40
jmp 0x425f15
cmp eax, 0x22
jne 0x425ea4
test dword [ebp - 0x2b0], 0x100
je 0x425f15
xor dword [ebp - 0x2b0], 0x180
jmp 0x425f15
cmp eax, 0x27
jne 0x425ec1
test dword [ebp - 0x2b0], 0x100
je 0x425f15
xor dword [ebp - 0x2b0], 0x140
jmp 0x425f15
cmp eax, 0x3d
jne 0x425ee3
cmp dword [ebp - 0x2cc], eax
je 0x425ee3
mov ecx, 0x100
test dword [ebp - 0x2b0], ecx
jne 0x425ee3
xor dword [ebp - 0x2b0], ecx
jmp 0x425f15
test dword [ebp - 0x2b0], 0x100
je 0x425f15
push dword [ebp - 0x2b8]
push 0x531364
call fcn.004d92e1
pop ecx
test eax, eax
mov eax, dword [ebp - 0x2b8]
pop ecx
jne 0x425f15
xor dword [ebp - 0x2b0], 0x100
mov ecx, dword [ebp - 0x2cc]
mov dword [ebp - 0x2d0], ecx
mov dword [ebp - 0x2cc], eax
jmp 0x426373
test byte [ebp - 0x2b4], 0x40
je 0x426373
cmp dword [ebp - 0x2b8], 0x22
jne 0x425f5e
test byte [ebp - 0x2b0], 0x40
jne 0x426373
xor dword [ebp - 0x2b0], 0x80
jmp 0x426373
cmp dword [ebp - 0x2b8], 0x27
jne 0x426373
test byte [ebp - 0x2b0], 0x80
jne 0x426373
xor dword [ebp - 0x2b0], 0x40
jmp 0x426373
cmp dword [ebp - 0x2b0], edx
je 0x426314
test byte [ebp - 0x2b0], 0x10
je 0x425fd6
cmp dword [ebp - 0x2b8], 0x3c
je 0x426444
push dword [ebp - 0x2b8]
push 0x531370
call fcn.004d92e1
pop ecx
pop ecx
test eax, eax
jne 0x426373
xor dword [ebp - 0x2b0], 0x10
mov dword [ebp - 0x2bc], 0x53137c
jmp 0x42635f
test byte [ebp - 0x2b0], 1
je 0x4260d6
mov ecx, dword [ebp - 0x2b8]
xor eax, eax
inc eax
xor dword [ebp - 0x2b0], eax
cmp ecx, 0x60
ja 0x4260b4
cmp ecx, 0x40
jbe 0x426009
cmp ecx, 0x5b
jb 0x4260b4
cmp ecx, 0x5f
je 0x4260b4
cmp ecx, 0x3a
je 0x4260b4
cmp ecx, 0x2f
jne 0x426038
mov dword [ebp - 0x2bc], 0x531384
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2b4], edx
jmp 0x42606c
cmp ecx, 0x21
jne 0x426049
or dword [ebp - 0x2b0], 2
jmp 0x426373
cmp ecx, 0x3f
jne 0x426079
mov dword [ebp - 0x2bc], 0x531388
mov dword [ebp - 0x2c0], 2
mov dword [ebp - 0x2b4], 0x10
mov esi, ebx
sub esi, dword [edi + 0xc]
sar esi, 1
inc esi
jmp 0x426373
push dword [ebp - 0x2c4]
lea eax, [ebp - 0x2ac]
push 0x531394
push 0x5313bc
push eax
mov dword [ebp - 0x2bc], 0x531390
mov dword [ebp - 0x2c0], 1
call fcn.004dd582
lea eax, [ebp - 0x2ac]
jmp 0x426283
mov esi, ebx
sub esi, dword [edi + 0xc]
mov dword [ebp - 0x2bc], 0x531380
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2b4], eax
sar esi, 1
jmp 0x426373
test byte [ebp - 0x2b0], 2
je 0x4261a5
xor dword [ebp - 0x2b0], 2
cmp dword [ebp - 0x2b8], 0x2d
jne 0x4260ff
or dword [ebp - 0x2b0], 4
jmp 0x426373
cmp dword [ebp - 0x2b8], 0x5b
jne 0x42611d
test byte [ebp - 0x2b0], 0x20
jne 0x42613b
or dword [ebp - 0x2b0], 8
jmp 0x426373
cmp dword [ebp - 0x2b8], 0x44
jne 0x42613b
test byte [ebp - 0x2b0], 0x20
jne 0x42613b
or dword [ebp - 0x2b0], 0x20
jmp 0x426373
push dword [ebp - 0x2b8]
push 0x5313f0
call fcn.004d92e1
pop ecx
pop ecx
mov dword [ebp - 0x2c0], 1
test eax, eax
je 0x426174
mov dword [ebp - 0x2bc], 0x5313f8
mov dword [ebp - 0x2b4], 0x40
jmp 0x426373
push dword [ebp - 0x2c4]
lea eax, [ebp - 0x1e4]
push 0x531400
push 0x53140c
push eax
mov dword [ebp - 0x2bc], 0x5313fc
call fcn.004dd582
lea eax, [ebp - 0x1e4]
jmp 0x426283
test byte [ebp - 0x2b0], 4
je 0x426219
xor dword [ebp - 0x2b0], 4
cmp dword [ebp - 0x2b8], 0x2d
jne 0x4261e1
mov dword [ebp - 0x2bc], 0x531440
mov dword [ebp - 0x2c0], 3
mov dword [ebp - 0x2b4], 0x20
jmp 0x426373
push dword [ebp - 0x2c4]
lea eax, [ebp - 0x11c]
push 0x53144c
push str.Incorrect__s_at_offset__d
push eax
mov dword [ebp - 0x2bc], 0x531448
mov dword [ebp - 0x2c0], 1
call fcn.004dd582
lea eax, [ebp - 0x11c]
jmp 0x426283
test byte [ebp - 0x2b0], 8
je 0x4262a1
push 8
pop eax
xor dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b8], 0x43
jne 0x426253
mov dword [ebp - 0x2bc], 0x531498
mov dword [ebp - 0x2c0], 3
mov dword [ebp - 0x2b4], eax
jmp 0x426373
push dword [ebp - 0x2c4]
lea eax, [ebp - 0x54]
push 0x5314a4
push 0x5314ac
push eax
mov dword [ebp - 0x2bc], 0x5314a0
mov dword [ebp - 0x2c0], 1
call fcn.004dd582
lea eax, [ebp - 0x54]
mov ecx, dword [ebp - 0x2c8]
add esp, 0x10
push eax
add ecx, 0x10
call fcn.00404441
or dword [ebp - 0x2b4], 0xffffffff
jmp 0x426373
test byte [ebp - 0x2b0], 0x20
je 0x426373
cmp dword [ebp - 0x2b8], 0x3c
jne 0x4262c3
or dword [ebp - 0x2b0], 1
jmp 0x426373
cmp dword [ebp - 0x2b8], 0x3e
jne 0x426373
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.004d5e0b
add ebp, 0x78
leave
ret
cmp dword [ebp - 0x2b8], 0x3c
jne 0x426329
mov dword [ebp - 0x2b0], 1
jmp 0x426373
push dword [ebp - 0x2b8]
mov dword [ebp - 0x2b4], 4
push str.__t_n_r
call fcn.004d92e1
pop ecx
pop ecx
test eax, eax
je 0x426355
mov dword [ebp - 0x2b0], 0x10
jmp 0x426373
mov dword [ebp - 0x2bc], 0x5314ec
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 0x425cb8
sub ebx, dword [edi + 0xc]
sar ebx, 1
dec ebx
cmp dword [ebp - 0x2b4], 4
mov dword [ebp - 0x2c4], ebx
je 0x4262e5
cmp dword [ebp - 0x2b4], 2
je 0x4262e5
test byte [ebp - 0x2b0], 0x20
mov ecx, 0x53125c
jne 0x426401
mov eax, dword [ebp - 0x2b4]
cmp eax, 0x40
je 0x426401
cmp eax, 1
jne 0x4263d2
mov ecx, str.Element_tag
jmp 0x426406
test eax, eax
jne 0x4263dd
mov ecx, str.Element_end_tag
jmp 0x426406
cmp eax, 8
jne 0x4263e9
mov ecx, str.CDATA_Section
jmp 0x426406
cmp eax, 0x10
jne 0x4263f5
mov ecx, str.Processing_instruction
jmp 0x426406
cmp eax, 0x20
jne 0x426406
mov ecx, str.Comment
jmp 0x426406
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.004dd582
add esp, 0x10
lea eax, [ebp - 0x54]
push eax
lea ecx, [esi + 0x10]
call fcn.00404441
jmp 0x4262e5
sub ebx, dword [edi + 0xc]
sar ebx, 1
dec ebx
jmp 0x4262df
sub ebx, dword [edi + 0xc]
mov dword [ebp - 0x2b4], 4
sar ebx, 1
dec ebx
jmp 0x4262df