Function at 0x43df7c
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffbc
push ebx
push esi
push edi
mov eax, dword [ebp + 0x18]
mov dword [eax], 0xffffffff
cmp dword [ebp + 0x1c], 0
je 0x43df9b
mov edx, dword [ebp + 0x1c]
xor ecx, ecx
mov dword [edx], ecx
cmp dword [0x5616dc], 0
jne 0x43dfab
xor eax, eax
jmp 0x43e74b
push dword [ebp + 0x24]
call fcn.0041261f
test eax, eax
jne 0x43dfbe
xor eax, eax
jmp 0x43e74b
push dword [ebp + 8]
call fcn.0051fafa
mov dword [ebp - 0x28], eax
xor edx, edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x14], 0x63
xor ecx, ecx
mov dword [ebp - 0xc], ecx
test byte [ebp + 0x10], 1
je 0x43dfe4
and dword [ebp + 0x10], 0xfffffffe
mov eax, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [eax]
push edx
call fcn.00556298
pop ecx
mov dword [ebp - 4], eax
mov dword [ebp - 0x1c], 1
mov ecx, dword [0x5616dc]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 0
je 0x43e734
xor eax, eax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], edx
mov byte [0x57ef3f], 0
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x134], 0
je 0x43e045
cmp dword [ebp + 0x20], 0xffffffff
je 0x43e045
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x134]
cmp edx, dword [ebp + 0x20]
jne 0x43e71b
cmp dword [ebp + 0x10], 0
je 0x43e0e9
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x138], 0
je 0x43e064
or dword [ebp - 8], 1
jmp 0x43e118
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0x68], 0
je 0x43e0d7
xor esi, esi
cmp dword [ebp - 0x28], 0
je 0x43e0cd
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x6bc], 1
jne 0x43e0cd
mov edi, dword [ebp - 0x20]
add edi, 0x68
jmp 0x43e0c8
mov eax, dword [ebp - 0x28]
push dword [eax + 0xb6c]
push edi
call fcn.004eebe2
mov ebx, eax
test ebx, ebx
je 0x43e0c7
test dword [ebp + 0x10], ebx
je 0x43e0c7
mov eax, dword [ebp - 0x28]
push dword [eax + 0xb6c]
push edi
call fcn.004eecd2
mov ebx, eax
cmp ebx, dword [ebp - 0x18]
jg 0x43e0c7
mov dword [ebp - 0x18], ebx
or dword [ebp - 8], 1
mov esi, 1
jmp 0x43e0cd
inc edi
cmp byte [edi], 0
jne 0x43e089
test esi, esi
je 0x43e71b
jmp 0x43e118
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x13c], 0
jne 0x43e71b
jmp 0x43e118
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x13c], 0
je 0x43e0fb
or dword [ebp - 8], 1
jmp 0x43e118
mov ecx, dword [ebp - 0x20]
cmp byte [ecx + 0x68], 0
jne 0x43e71b
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x138], 0
jne 0x43e71b
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x64]
test eax, eax
je 0x43e2c2
mov esi, dword [ebp - 0x20]
cmp eax, 0x25
je 0x43e137
cmp eax, 0x24
jne 0x43e20c
mov edi, dword [ebp - 4]
mov eax, dword [0x56cd1c]
mov dword [ebp - 0x2c], eax
mov edx, dword [0x56cd20]
mov dword [ebp - 0x30], edx
mov ecx, dword [0x56cd24]
mov dword [ebp - 0x34], ecx
mov eax, dword [0x56cd28]
mov dword [ebp - 0x38], eax
mov edx, dword [0x56cd2c]
mov dword [ebp - 0x3c], edx
mov ecx, dword [0x56cd30]
mov dword [ebp - 0x40], ecx
push esi
push edi
mov edi, esi
mov esi, 0x57eb58
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push dword [ebp + 0x24]
push 0
push 0
push 0
push 0
push 0x57eb58
push dword [ebp + 8]
call fcn.00479b18
mov ebx, eax
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x2c]
mov dword [0x56cd1c], eax
mov edx, dword [ebp - 0x30]
mov dword [0x56cd20], edx
mov ecx, dword [ebp - 0x34]
mov dword [0x56cd24], ecx
mov eax, dword [ebp - 0x38]
mov dword [0x56cd28], eax
mov edx, dword [ebp - 0x3c]
mov dword [0x56cd2c], edx
mov ecx, dword [ebp - 0x40]
mov dword [0x56cd30], ecx
test ebx, ebx
je 0x43e71b
cmp byte [0x57eb58], 0
je 0x43e71b
mov esi, 0x57eb58
xor eax, eax
mov al, byte [esi]
push eax
call fcn.00556298
pop ecx
cmp eax, 0x2a
je 0x43e21f
cmp eax, 0x3f
je 0x43e21f
cmp eax, dword [ebp - 4]
jne 0x43e71b
xor ebx, ebx
push 0x21
push esi
call fcn.0054e1ec
add esp, 8
test eax, eax
je 0x43e245
push dword [ebp + 0x24]
push 0x57ef3f
push dword [ebp + 0xc]
call fcn.0043def1
mov ebx, 1
cmp byte [0x57ef3f], 0
jne 0x43e279
mov eax, dword [ebp + 0xc]
push esi
mov esi, 0x57ef3f
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
xor ebx, ebx
cmp byte [0x57ef3f], 0
je 0x43e71b
cmp byte [esi], 0x2a
jne 0x43e29d
push 0x561735
push esi
call fcn.0054e450
add esp, 8
test eax, eax
je 0x43e2b4
push 1
push 0
push 0x57ef3f
push esi
call fcn.0051f0b8
test eax, eax
je 0x43e71b
test ebx, ebx
je 0x43e2be
or dword [ebp - 8], 8
jmp 0x43e2c2
or dword [ebp - 8], 4
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0xcc], 0
je 0x43e467
push dword [ebp + 0x24]
push 0x57ef3f
push dword [ebp + 0xc]
call fcn.0043def1
cmp byte [0x57ef3f], 0
jne 0x43e312
mov edx, dword [ebp + 0xc]
mov esi, 0x57ef3f
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp byte [0x57ef3f], 0
je 0x43e71b
push 0x21
push 0x57ef3f
call fcn.0054e1ec
add esp, 8
mov edi, eax
test edi, edi
je 0x43e33f
mov byte [edi], 0
inc edi
cmp byte [edi], 0
jne 0x43e33f
xor edi, edi
push 0
push 0
push 0x57eb58
push edi
push 0x57ef3f
call fcn.004f8ab9
push 0x56173c
push 0x57eb58
call fcn.0050eafe
cmp byte [0x57eb58], 0
jne 0x43e3a4
test edi, edi
je 0x43e71b
push 0
push 0
push 0x57eb58
push 0
push 0x57ef3f
call fcn.004f8ab9
push 0x56173f
push 0x57eb58
call fcn.0050eafe
cmp byte [0x57eb58], 0
je 0x43e71b
xor eax, eax
mov dword [ebp - 0x10], eax
push 0x561742
push 0x57eb58
call fcn.0054e644
add esp, 8
mov edi, eax
test edi, edi
je 0x43e45d
xor esi, esi
mov eax, dword [ebp - 0x20]
add eax, 0xcc
jmp 0x43e432
inc eax
cmp byte [eax], 0x20
je 0x43e3d3
mov dl, byte [eax]
test dl, dl
je 0x43e437
cmp byte [edi], 0x3d
jne 0x43e3e5
inc edi
cmp dl, 0x3d
jne 0x43e3eb
inc eax
mov ebx, eax
jmp 0x43e3f0
inc ebx
mov dl, byte [ebx]
test dl, dl
je 0x43e3fb
cmp dl, 0x20
jne 0x43e3ef
cmp byte [ebx], 0
je 0x43e405
mov byte [ebx], 0
jmp 0x43e407
xor ebx, ebx
xor esi, esi
push eax
push edi
call fcn.0054e450
add esp, 8
test eax, eax
jne 0x43e420
mov esi, 1
or dword [ebp - 8], 2
test ebx, ebx
je 0x43e427
mov byte [ebx], 0x20
test esi, esi
jne 0x43e437
test ebx, ebx
je 0x43e437
lea eax, [ebx + 1]
cmp byte [eax], 0
jne 0x43e3d4
test esi, esi
je 0x43e444
mov dword [ebp - 0x10], 1
jmp 0x43e45d
push 0x561745
push 0
call fcn.0054e644
add esp, 8
mov edi, eax
test edi, edi
jne 0x43e3c5
cmp dword [ebp - 0x10], 0
je 0x43e71b
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x140], 0
je 0x43e6d4
push dword [ebp + 0x24]
push 0x57ef3f
push dword [ebp + 0xc]
call fcn.0043def1
cmp byte [0x57ef3f], 0
jne 0x43e4b7
mov edx, dword [ebp + 0xc]
mov esi, 0x57ef3f
mov edi, edx
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp byte [0x57ef3f], 0
je 0x43e71b
mov eax, dword [ebp - 0x20]
test byte [eax + 0x140], 1
je 0x43e4fa
cmp dword [0x5681d4], 0
je 0x43e71b
push dword [ebp + 0x24]
push 0
push 0
push 0x57ef3f
call fcn.004ab76b
test eax, eax
je 0x43e71b
or dword [ebp - 8], 2
mov edx, dword [ebp - 0x20]
test byte [edx + 0x140], 2
je 0x43e577
cmp dword [0x56be40], 0
je 0x43e71b
cmp dword [ebp - 0x28], 0
je 0x43e71b
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 0x6bc], 1
jne 0x43e71b
mov eax, dword [ebp - 0x28]
add eax, 8
mov edi, eax
mov esi, 0x57eb58
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push dword [ebp + 0x24]
push 0
push 0x57eb58
push 0x57ef3f
call fcn.004d8ab4
test eax, eax
je 0x43e71b
or dword [ebp - 8], 2
mov eax, dword [ebp - 0x20]
test byte [eax + 0x140], 4
je 0x43e5f4
cmp dword [0x56efcc], 0
je 0x43e71b
cmp dword [ebp - 0x28], 0
je 0x43e71b
mov edx, dword [ebp - 0x28]
cmp dword [edx + 0x6bc], 1
jne 0x43e71b
mov ecx, dword [ebp - 0x28]
add ecx, 8
mov edi, ecx
mov esi, 0x57eb58
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push dword [ebp + 0x24]
push 0
push 0x57eb58
push 0x57ef3f
call fcn.0051e974
test eax, eax
je 0x43e71b
or dword [ebp - 8], 2
mov eax, dword [ebp - 0x20]
test byte [eax + 0x140], 8
je 0x43e671
cmp dword [0x56cd80], 0
je 0x43e71b
cmp dword [ebp - 0x28], 0
je 0x43e71b
mov edx, dword [ebp - 0x28]
cmp dword [edx + 0x6bc], 1
jne 0x43e71b
mov ecx, dword [ebp - 0x28]
add ecx, 8
mov edi, ecx
mov esi, 0x57eb58
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push dword [ebp + 0x24]
push 0
push 0x57eb58
push 0x57ef3f
call fcn.004f23f2
test eax, eax
je 0x43e71b
or dword [ebp - 8], 2
mov eax, dword [ebp - 0x20]
test byte [eax + 0x140], 0x10
je 0x43e6d4
cmp dword [0x56bcf8], 0
je 0x43e71b
xor edx, edx
mov dword [ebp - 0x44], edx
push dword [ebp + 0x24]
push 0x57ef3f
push dword [ebp + 0xc]
call fcn.0049581d
test eax, eax
je 0x43e6be
push 0x21
push 0x57ef3f
call fcn.0054e1ec
add esp, 8
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x43e6be
inc dword [ebp - 0x44]
push dword [ebp + 0x24]
push dword [ebp - 0x44]
push dword [ebp + 0xc]
call fcn.004d7d20
test eax, eax
je 0x43e71b
or dword [ebp - 8], 2
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0x144]
test eax, eax
je 0x43e6ed
imul edx, eax, 0x3c
cmp edx, dword [ebp + 0x14]
jg 0x43e71b
or dword [ebp - 8], 2
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0xc]
jg 0x43e705
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0xc]
jne 0x43e71b
mov edx, dword [ebp - 0x18]
cmp edx, dword [ebp - 0x14]
jge 0x43e71b
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
cmp dword [ebp + 0x1c], 0
je 0x43e734
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x1c]
mov dword [eax], edx
jmp 0x43e734
inc dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0x148]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x43e00f
cmp dword [ebp - 0x24], 0
je 0x43e748
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x130]
mov eax, dword [ebp + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20