Function at 0x43dc54
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffbc
push ebx
push esi
push edi
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xffffffff
cmp dword [ebp + 0x18], 0
je 0x43dc73
mov edx, dword [ebp + 0x18]
xor ecx, ecx
mov dword [edx], ecx
cmp dword [0x55f6ac], 0
jne 0x43dc83
xor eax, eax
jmp 0x43e406
push dword [ebp + 0x20]
call fcn.00412773
test eax, eax
jne 0x43dc96
xor eax, eax
jmp 0x43e406
push dword [ebp + 8]
call fcn.0051dd0a
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 0x43dcbc
and dword [ebp + 0x10], 0xfffffffe
mov eax, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [eax]
push edx
call fcn.005542dc
pop ecx
mov dword [ebp - 4], eax
mov dword [ebp - 0x1c], 1
mov ecx, dword [0x55f6ac]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 0
je 0x43e3ef
xor eax, eax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], edx
mov byte [0x57cdef], 0
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x134], 0
je 0x43dd1d
cmp dword [ebp + 0x1c], 0xffffffff
je 0x43dd1d
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x134]
cmp edx, dword [ebp + 0x1c]
jne 0x43e3d6
cmp dword [ebp + 0x10], 0
je 0x43ddc1
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x138], 0
je 0x43dd3c
or dword [ebp - 8], 1
jmp 0x43ddf0
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0x68], 0
je 0x43ddaf
xor esi, esi
cmp dword [ebp - 0x28], 0
je 0x43dda5
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x6bc], 1
jne 0x43dda5
mov edi, dword [ebp - 0x20]
add edi, 0x68
jmp 0x43dda0
mov eax, dword [ebp - 0x28]
push dword [eax + 0xb6c]
push edi
call fcn.004edace
mov ebx, eax
test ebx, ebx
je 0x43dd9f
test dword [ebp + 0x10], ebx
je 0x43dd9f
mov eax, dword [ebp - 0x28]
push dword [eax + 0xb6c]
push edi
call fcn.004edbbe
mov ebx, eax
cmp ebx, dword [ebp - 0x18]
jg 0x43dd9f
mov dword [ebp - 0x18], ebx
or dword [ebp - 8], 1
mov esi, 1
jmp 0x43dda5
inc edi
cmp byte [edi], 0
jne 0x43dd61
test esi, esi
je 0x43e3d6
jmp 0x43ddf0
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x13c], 0
jne 0x43e3d6
jmp 0x43ddf0
mov edx, dword [ebp - 0x20]
cmp dword [edx + 0x13c], 0
je 0x43ddd3
or dword [ebp - 8], 1
jmp 0x43ddf0
mov ecx, dword [ebp - 0x20]
cmp byte [ecx + 0x68], 0
jne 0x43e3d6
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x138], 0
jne 0x43e3d6
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x64]
test eax, eax
je 0x43df9a
mov esi, dword [ebp - 0x20]
cmp eax, 0x25
je 0x43de0f
cmp eax, 0x24
jne 0x43dee4
mov edi, dword [ebp - 4]
mov eax, dword [0x56ac04]
mov dword [ebp - 0x2c], eax
mov edx, dword [0x56ac08]
mov dword [ebp - 0x30], edx
mov ecx, dword [0x56ac0c]
mov dword [ebp - 0x34], ecx
mov eax, dword [0x56ac10]
mov dword [ebp - 0x38], eax
mov edx, dword [0x56ac14]
mov dword [ebp - 0x3c], edx
mov ecx, dword [0x56ac18]
mov dword [ebp - 0x40], ecx
push esi
push edi
mov edi, esi
mov esi, 0x57ca08
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 + 0x20]
push 0
push 0
push 0
push 0
push 0x57ca08
push dword [ebp + 8]
call fcn.0047a2c4
mov ebx, eax
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x2c]
mov dword [0x56ac04], eax
mov edx, dword [ebp - 0x30]
mov dword [0x56ac08], edx
mov ecx, dword [ebp - 0x34]
mov dword [0x56ac0c], ecx
mov eax, dword [ebp - 0x38]
mov dword [0x56ac10], eax
mov edx, dword [ebp - 0x3c]
mov dword [0x56ac14], edx
mov ecx, dword [ebp - 0x40]
mov dword [0x56ac18], ecx
test ebx, ebx
je 0x43e3d6
cmp byte [0x57ca08], 0
je 0x43e3d6
mov esi, 0x57ca08
xor eax, eax
mov al, byte [esi]
push eax
call fcn.005542dc
pop ecx
cmp eax, 0x2a
je 0x43def7
cmp eax, 0x3f
je 0x43def7
cmp eax, dword [ebp - 4]
jne 0x43e3d6
xor ebx, ebx
push 0x21
push esi
call fcn.0054c230
add esp, 8
test eax, eax
je 0x43df1d
push dword [ebp + 0x20]
push 0x57cdef
push dword [ebp + 0xc]
call fcn.0043dbc9
mov ebx, 1
cmp byte [0x57cdef], 0
jne 0x43df51
mov eax, dword [ebp + 0xc]
push esi
mov esi, 0x57cdef
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 [0x57cdef], 0
je 0x43e3d6
cmp byte [esi], 0x2a
jne 0x43df75
push 0x55f702
push esi
call fcn.0054c494
add esp, 8
test eax, eax
je 0x43df8c
push 1
push 0
push 0x57cdef
push esi
call fcn.0051d2f8
test eax, eax
je 0x43e3d6
test ebx, ebx
je 0x43df96
or dword [ebp - 8], 8
jmp 0x43df9a
or dword [ebp - 8], 4
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0xcc], 0
je 0x43e13f
push dword [ebp + 0x20]
push 0x57cdef
push dword [ebp + 0xc]
call fcn.0043dbc9
cmp byte [0x57cdef], 0
jne 0x43dfea
mov edx, dword [ebp + 0xc]
mov esi, 0x57cdef
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 [0x57cdef], 0
je 0x43e3d6
push 0x21
push 0x57cdef
call fcn.0054c230
add esp, 8
mov edi, eax
test edi, edi
je 0x43e017
mov byte [edi], 0
inc edi
cmp byte [edi], 0
jne 0x43e017
xor edi, edi
push 0
push 0
push 0x57ca08
push edi
push 0x57cdef
call fcn.004f7291
push 0x55f709
push 0x57ca08
call fcn.0050cef4
cmp byte [0x57ca08], 0
jne 0x43e07c
test edi, edi
je 0x43e3d6
push 0
push 0
push 0x57ca08
push 0
push 0x57cdef
call fcn.004f7291
push 0x55f70c
push 0x57ca08
call fcn.0050cef4
cmp byte [0x57ca08], 0
je 0x43e3d6
xor eax, eax
mov dword [ebp - 0x10], eax
push 0x55f70f
push 0x57ca08
call fcn.0054c688
add esp, 8
mov edi, eax
test edi, edi
je 0x43e135
xor esi, esi
mov eax, dword [ebp - 0x20]
add eax, 0xcc
jmp 0x43e10a
inc eax
cmp byte [eax], 0x20
je 0x43e0ab
mov dl, byte [eax]
test dl, dl
je 0x43e10f
cmp byte [edi], 0x3d
jne 0x43e0bd
inc edi
cmp dl, 0x3d
jne 0x43e0c3
inc eax
mov ebx, eax
jmp 0x43e0c8
inc ebx
mov dl, byte [ebx]
test dl, dl
je 0x43e0d3
cmp dl, 0x20
jne 0x43e0c7
cmp byte [ebx], 0
je 0x43e0dd
mov byte [ebx], 0
jmp 0x43e0df
xor ebx, ebx
xor esi, esi
push eax
push edi
call fcn.0054c494
add esp, 8
test eax, eax
jne 0x43e0f8
mov esi, 1
or dword [ebp - 8], 2
test ebx, ebx
je 0x43e0ff
mov byte [ebx], 0x20
test esi, esi
jne 0x43e10f
test ebx, ebx
je 0x43e10f
lea eax, [ebx + 1]
cmp byte [eax], 0
jne 0x43e0ac
test esi, esi
je 0x43e11c
mov dword [ebp - 0x10], 1
jmp 0x43e135
push 0x55f712
push 0
call fcn.0054c688
add esp, 8
mov edi, eax
test edi, edi
jne 0x43e09d
cmp dword [ebp - 0x10], 0
je 0x43e3d6
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x140], 0
je 0x43e3a8
push dword [ebp + 0x20]
push 0x57cdef
push dword [ebp + 0xc]
call fcn.0043dbc9
cmp byte [0x57cdef], 0
jne 0x43e18f
mov edx, dword [ebp + 0xc]
mov esi, 0x57cdef
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 [0x57cdef], 0
je 0x43e3d6
mov eax, dword [ebp - 0x20]
test byte [eax + 0x140], 1
je 0x43e1d2
cmp dword [0x566120], 0
je 0x43e3d6
push dword [ebp + 0x20]
push 0
push 0
push 0x57cdef
call fcn.004ab987
test eax, eax
je 0x43e3d6
or dword [ebp - 8], 2
mov edx, dword [ebp - 0x20]
test byte [edx + 0x140], 2
je 0x43e24f
cmp dword [0x569d34], 0
je 0x43e3d6
cmp dword [ebp - 0x28], 0
je 0x43e3d6
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 0x6bc], 1
jne 0x43e3d6
mov eax, dword [ebp - 0x28]
add eax, 8
mov edi, eax
mov esi, 0x57ca08
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 + 0x20]
push 0
push 0x57ca08
push 0x57cdef
call fcn.004d7cb8
test eax, eax
je 0x43e3d6
or dword [ebp - 8], 2
mov eax, dword [ebp - 0x20]
test byte [eax + 0x140], 4
je 0x43e2cc
cmp dword [0x56ce9c], 0
je 0x43e3d6
cmp dword [ebp - 0x28], 0
je 0x43e3d6
mov edx, dword [ebp - 0x28]
cmp dword [edx + 0x6bc], 1
jne 0x43e3d6
mov ecx, dword [ebp - 0x28]
add ecx, 8
mov edi, ecx
mov esi, 0x57ca08
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 + 0x20]
push 0
push 0x57ca08
push 0x57cdef
call fcn.0051cbb4
test eax, eax
je 0x43e3d6
or dword [ebp - 8], 2
mov eax, dword [ebp - 0x20]
test byte [eax + 0x140], 8
je 0x43e349
cmp dword [0x56ac5c], 0
je 0x43e3d6
cmp dword [ebp - 0x28], 0
je 0x43e3d6
mov edx, dword [ebp - 0x28]
cmp dword [edx + 0x6bc], 1
jne 0x43e3d6
mov ecx, dword [ebp - 0x28]
add ecx, 8
mov edi, ecx
mov esi, 0x57ca08
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 + 0x20]
push 0
push 0x57ca08
push 0x57cdef
call fcn.004f0bf2
test eax, eax
je 0x43e3d6
or dword [ebp - 8], 2
mov eax, dword [ebp - 0x20]
test byte [eax + 0x140], 0x10
je 0x43e3a8
cmp dword [0x569bec], 0
je 0x43e3d6
xor edx, edx
mov dword [ebp - 0x44], edx
push dword [ebp + 0x20]
push 0x57cdef
push dword [ebp + 0xc]
call fcn.00495ca9
test eax, eax
je 0x43e392
push 0x21
push 0x57cdef
call fcn.0054c230
add esp, 8
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x43e392
inc dword [ebp - 0x44]
push dword [ebp + 0x20]
push dword [ebp - 0x44]
push dword [ebp + 0xc]
call fcn.004d6f34
test eax, eax
je 0x43e3d6
or dword [ebp - 8], 2
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0xc]
jg 0x43e3c0
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0xc]
jne 0x43e3d6
mov edx, dword [ebp - 0x18]
cmp edx, dword [ebp - 0x14]
jge 0x43e3d6
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
cmp dword [ebp + 0x18], 0
je 0x43e3ef
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x1c]
mov dword [eax], edx
jmp 0x43e3ef
inc dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0x144]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x43dce7
cmp dword [ebp - 0x24], 0
je 0x43e403
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x130]
mov eax, dword [ebp + 0x14]
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c