Function at 0x5810b8
Capabilities:
Parse credit card information
Parse pe header

Disassembly:
mov edi, edi
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
xor eax, eax
inc eax
cmp ecx, 0x2e
push edi
mov dl, 4
jg 0x58123a
je 0x581226
cmp ecx, 0x26
jg 0x5811a7
je 0x58119f
cmp ecx, 0x21
jg 0x58114d
je 0x581135
cmp ecx, 9
jl 0x581271
cmp ecx, 0xa
jle 0x581110
cmp ecx, 0xb
jle 0x581271
cmp ecx, 0xd
jle 0x581110
cmp ecx, 0x20
jne 0x581271
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
mov ecx, eax
jmp 0x581120
inc ecx
movzx edx, byte [ecx + ebx]
test byte [edx + 0x6ae5e0], al
jne 0x58111b
mov dword [esi], 0x95
mov eax, ecx
jmp 0x581595
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x58158f
mov dword [esi], 0x4b
jmp 0x581595
mov edx, ecx
sub edx, 0x22
je 0x581473
dec edx
je 0x58116e
dec edx
dec edx
jne 0x581271
mov dword [esi], 0x5a
jmp 0x5811f6
movzx edi, byte [ebx + 1]
mov dl, 4
mov ecx, eax
test byte [edi + 0x6ae5e0], dl
je 0x581565
inc ecx
movzx edi, byte [ecx + ebx]
test byte [edi + 0x6ae5e0], dl
jne 0x581182
cmp ecx, eax
jle 0x581565
mov dword [esi], 0x84
jmp 0x58112e
mov dword [esi], 0x52
jmp 0x5811f6
mov eax, ecx
sub eax, 0x27
je 0x581473
dec eax
je 0x58121e
dec eax
je 0x581216
dec eax
je 0x58120e
dec eax
je 0x581206
dec eax
je 0x5811fe
dec eax
jne 0x581271
cmp byte [ebx + 1], 0x2d
jne 0x5811f0
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x5811e1
cmp ecx, 0xa
je 0x5811e5
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x5811d7
mov dword [esi], 0x95
jmp 0x581595
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x581595
mov dword [esi], 0x19
jmp 0x5811f6
mov dword [esi], 0x56
jmp 0x5811f6
mov dword [esi], 0x58
jmp 0x5811f6
mov dword [esi], 0x17
jmp 0x5811f6
mov dword [esi], 0x16
jmp 0x5811f6
movzx eax, byte [ebx + 1]
test byte [eax + 0x6ae5e0], dl
jne 0x581286
mov dword [esi], 0x76
jmp 0x5811f6
cmp ecx, 0x3f
jg 0x581414
je 0x5813f1
cmp ecx, 0x3b
jg 0x581366
je 0x58135c
cmp ecx, 0x2f
je 0x58131e
jle 0x581271
cmp ecx, 0x39
jle 0x581286
cmp ecx, 0x3a
je 0x581565
test byte [ecx + 0x6ae5e0], 0x46
jne 0x581543
xor eax, eax
inc eax
jmp 0x58158f
mov dword [esi], 0x81
movzx ecx, byte [ebx]
xor eax, eax
jmp 0x581298
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x6ae5e0], dl
jne 0x581293
cmp byte [eax + ebx], 0x2e
jne 0x5812b9
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x6ae5e0], dl
jne 0x5812a6
mov dword [esi], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x5812c6
cmp cl, 0x45
jne 0x58130c
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x6ae5e0], dl
jne 0x5812ec
cmp cl, 0x2b
je 0x5812df
cmp cl, 0x2d
jne 0x58130c
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x6ae5e0], dl
je 0x58130c
inc eax
inc eax
jmp 0x5812f1
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x6ae5e0], dl
jne 0x5812f0
mov dword [esi], 0x82
jmp 0x58130c
mov dword [esi], 0x94
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x6ae5e0], 0x46
jne 0x581305
jmp 0x581595
cmp byte [ebx + 1], 0x2a
jne 0x581351
mov cl, byte [ebx + 2]
test cl, cl
je 0x581351
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x58133c
cmp byte [eax + ebx], 0x2f
je 0x58134b
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x5811e5
inc eax
jmp 0x581331
inc eax
jmp 0x5811e5
mov dword [esi], 0x59
jmp 0x5811f6
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x581595
mov eax, ecx
sub eax, 0x3c
je 0x5813b5
dec eax
je 0x5813a0
dec eax
jne 0x581271
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x581388
mov dword [esi], 0x50
jmp 0x5813c4
cmp eax, 0x3e
jne 0x581395
mov dword [esi], 0x55
jmp 0x5813c4
mov dword [esi], 0x4d
jmp 0x5811f6
xor eax, eax
mov dword [esi], 0x4c
cmp byte [ebx + 1], 0x3d
sete al
inc eax
jmp 0x581595
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x5813cc
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x581595
cmp eax, 0x3e
jne 0x5813d9
mov dword [esi], 0x4b
jmp 0x5813c4
cmp eax, 0x3c
jne 0x5813e6
mov dword [esi], 0x54
jmp 0x5813c4
mov dword [esi], 0x4f
jmp 0x5811f6
xor eax, eax
mov dword [esi], 0x85
movzx ecx, byte [ebx + 1]
inc eax
mov dl, 4
jmp 0x581407
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x6ae5e0], dl
jne 0x581402
jmp 0x581595
mov edx, ecx
sub edx, 0x40
je 0x581565
sub edx, 0x18
je 0x5814e2
sub edx, 3
je 0x5814b6
sub edx, 5
je 0x581473
sub edx, 0x18
je 0x5814e2
sub edx, 4
je 0x581457
dec edx
dec edx
jne 0x581271
mov dword [esi], 0x5d
jmp 0x5811f6
cmp byte [ebx + 1], 0x7c
je 0x581468
mov dword [esi], 0x53
jmp 0x5811f6
mov dword [esi], 0x5b
jmp 0x5813c4
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x58148f
cmp edx, ecx
jne 0x58148a
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x581493
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x58147c
cmp edx, 0x27
jne 0x5814a3
mov dword [esi], 0x5e
jmp 0x5813af
test edx, edx
je 0x58158f
mov dword [esi], 0x1a
jmp 0x5813af
xor eax, eax
inc eax
jmp 0x5814c4
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x5814c9
inc eax
cmp ecx, 0x5d
jne 0x5814bb
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
mov dword [esi], edx
jmp 0x581595
cmp byte [ebx + 1], 0x27
jne 0x581271
push 2
mov dword [esi], 0x83
movzx ecx, byte [ebx + 2]
pop eax
jmp 0x581517
cmp ecx, 0x27
je 0x58151b
movzx ecx, cl
test byte [ecx + 0x6ae5e0], 8
jne 0x581512
mov dword [esi], 0x94
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x5814fb
mov edx, eax
and edx, 0x80000001
jns 0x58152a
dec edx
or edx, 0xfffffffe
inc edx
jne 0x581534
test ecx, ecx
jne 0x5813af
mov dword [esi], 0x94
test ecx, ecx
je 0x581595
jmp 0x5813af
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x581551
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x6ae5e0], 0x46
jne 0x58154c
call fcn.00581040
mov dword [esi], eax
mov eax, edi
jmp 0x581595
mov dword [esi], 0x85
movzx ecx, byte [ebx + 1]
xor edx, edx
test ecx, ecx
je 0x58158f
movzx ecx, cl
test byte [ecx + 0x6ae5e0], 0x46
je 0x58158b
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x581575
test edx, edx
jne 0x581595
mov dword [esi], 0x94
pop edi
pop ebx
ret