Function at 0x8579fd
Capabilities:
Parse credit card information

Disassembly:
mov byte [0x444384], 0
push edi
cmp byte [esi + 1], 0xf
jne 0x857a12
lodsb al, byte [esi]
mov byte [0x444380], al
lodsb al, byte [esi]
mov edi, dword [0x509878]
mov dword [edi], 0
mov al, byte [esi]
cmp al, 4
ja 0x857a27
inc esi
mov al, byte [esi]
cmp al, 0x4c
jne 0x857b0e
cmp byte [esi + 1], 0x45
jne 0x857b0e
cmp byte [esi + 2], 0x4e
jne 0x857b0e
cmp byte [esi + 3], 0x1f
ja 0x857b0e
mov eax, dword [0x444374]
cmp eax, 0
jne 0x857ada
mov byte [0x44438c], 1
mov dword [0x444388], edi
cmp byte [0x444380], 0x44
jne 0x857a88
stosd dword es:[edi], eax
mov dword [0x444390], 0x44
mov dword [0x444374], 4
jmp 0x857ad5
cmp byte [0x444380], 0x57
jne 0x857aa9
stosw word es:[edi], ax
mov dword [0x444390], 0x57
mov dword [0x444374], 2
jmp 0x857ad5
cmp byte [0x444380], 0x42
jne 0x857ac9
stosb byte es:[edi], al
mov dword [0x444390], 0x42
mov dword [0x444374], 1
jmp 0x857ad5
pushal
popal
mov eax, dword [str.Leading_Len_can_only_be_dWord_or_word]
jmp fcn.0086e2d2
jmp 0x857b03
cmp byte [0x44438c], 1
jne 0x857af8
pushal
popal
mov eax, dword [str.You_cant_mix_head_LEN_and_Free_LEN]
jmp fcn.0086e2d2
stosd dword es:[edi], eax
mov dword [0x444374], 0
mov dword [0x509878], edi
add esi, 4
pop edi
ret
cmp byte [0x444380], 0x52
jne 0x857b1e
call fcn.008577bf
pop edi
ret
cmp byte [0x444380], 0x48
jne 0x857b35
pushal
popal
mov eax, dword [str._H___now_reserved_for_futher_developement._Use__R___or__F___instead]
jmp fcn.0086e2d2
cmp byte [0x444380], 0x46
jne 0x857b45
call fcn.0085780c
pop edi
ret
cmp byte [0x444380], 0x54
jne 0x857b55
call fcn.00857859
pop edi
ret
mov byte [0x444384], 0
cmp al, 9
jne 0x857b6c
mov byte [0x444384], 1
lodsb al, byte [esi]
mov al, byte [esi]
jmp 0x857b6c
cmp al, 0xa
jne 0x857b73
lodsb al, byte [esi]
mov al, byte [esi]
cmp al, 0x1e
jne 0x857b81
call fcn.008575d4
jmp 0x857cd3
cmp al, 0x30
ja 0x857b99
cmp byte [esi + 1], 0x30
jne 0x857b92
call fcn.0085761b
jmp 0x857bac
call fcn.00857653
jmp 0x857bac
cmp al, 0x39
jbe 0x857ba7
call fcn.0085798a
jmp 0x857c8c
call fcn.00857691
cmp edx, 0
je 0x857bcb
cmp byte [0x444380], 0x51
je 0x857bc6
pushal
popal
mov eax, dword [str.Over_flow_of_immediate_number]
jmp fcn.0086e2d2
jmp 0x857c58
cmp byte [0x444380], 0x44
je 0x857c44
cmp byte [0x444380], 0x42
je 0x857c25
cmp byte [0x444380], 0x57
je 0x857c04
cmp byte [0x444380], 0x55
je 0x857c04
cmp byte [0x444380], 0x51
je 0x857c58
pushal
popal
mov eax, dword [str.Unknown_Size_marker]
jmp fcn.0086e2d2
cmp eax, 0xffff
ja 0x857ce9
cmp byte [0x444384], 1
jne 0x857c1b
neg ax
add word [edi], ax
jae 0x857c8c
jmp 0x857ce9
cmp eax, 0xff
ja 0x857ce9
cmp byte [0x444384], 1
jne 0x857c3b
neg al
add byte [edi], al
jae 0x857c8c
jmp 0x857ce9
cmp byte [0x444384], 1
jne 0x857c4f
neg eax
add dword [edi], eax
jae 0x857c8c
jmp 0x857ce9
cmp byte [0x444384], 1
jne 0x857c65
neg eax
neg ebx
add dword [edi], eax
jae 0x857c7d
add edx, 1
cmp edx, 0
jne 0x857c7d
pushal
popal
mov eax, dword [str.Over_flow_of_immediate_number]
jmp fcn.0086e2d2
add edi, 4
add dword [edi], edx
jae 0x857c89
jmp 0x857ce9
sub edi, 4
cmp byte [esi - 1], 0xa
jne 0x857c9a
mov al, 0xa
dec esi
jmp 0x857b55
cmp byte [esi - 1], 9
jne 0x857ca8
mov al, 9
dec esi
jmp 0x857b55
cmp byte [0x444380], 0x44
jne 0x857cb6
add edi, 4
jmp 0x857cd3
cmp byte [0x444380], 0x42
jne 0x857cc2
inc edi
jmp 0x857cd3
cmp byte [0x444380], 0x51
jne 0x857cd0
add edi, 8
jmp 0x857cd3
add edi, 2
mov eax, edi
sub eax, dword [0x509878]
add dword [0x444374], eax
mov dword [0x509878], edi
pop edi
ret
pushal
popal
mov eax, dword [str.Over_flow_of_immediate_number]
jmp fcn.0086e2d2