Function at 0x539c57
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 0x539dd9
je 0x539dc5
cmp ecx, 0x26
jg 0x539d46
je 0x539d3e
cmp ecx, 0x21
jg 0x539cec
je 0x539cd4
cmp ecx, 9
jl 0x539e10
cmp ecx, 0xa
jle 0x539caf
cmp ecx, 0xb
jle 0x539e10
cmp ecx, 0xd
jle 0x539caf
cmp ecx, 0x20
jne 0x539e10
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
mov ecx, eax
jmp 0x539cbf
inc ecx
movzx edx, byte [ecx + ebx]
test byte [edx + 0x6555d0], al
jne 0x539cba
mov dword [esi], 0x95
mov eax, ecx
jmp 0x53a134
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x53a12e
mov dword [esi], 0x4b
jmp 0x53a134
mov edx, ecx
sub edx, 0x22
je 0x53a012
dec edx
je 0x539d0d
dec edx
dec edx
jne 0x539e10
mov dword [esi], 0x5a
jmp 0x539d95
movzx edi, byte [ebx + 1]
mov dl, 4
mov ecx, eax
test byte [edi + 0x6555d0], dl
je 0x53a104
inc ecx
movzx edi, byte [ecx + ebx]
test byte [edi + 0x6555d0], dl
jne 0x539d21
cmp ecx, eax
jle 0x53a104
mov dword [esi], 0x84
jmp 0x539ccd
mov dword [esi], 0x52
jmp 0x539d95
mov eax, ecx
sub eax, 0x27
je 0x53a012
dec eax
je 0x539dbd
dec eax
je 0x539db5
dec eax
je 0x539dad
dec eax
je 0x539da5
dec eax
je 0x539d9d
dec eax
jne 0x539e10
cmp byte [ebx + 1], 0x2d
jne 0x539d8f
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x539d80
cmp ecx, 0xa
je 0x539d84
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x539d76
mov dword [esi], 0x95
jmp 0x53a134
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x53a134
mov dword [esi], 0x19
jmp 0x539d95
mov dword [esi], 0x56
jmp 0x539d95
mov dword [esi], 0x58
jmp 0x539d95
mov dword [esi], 0x17
jmp 0x539d95
mov dword [esi], 0x16
jmp 0x539d95
movzx eax, byte [ebx + 1]
test byte [eax + 0x6555d0], dl
jne 0x539e25
mov dword [esi], 0x76
jmp 0x539d95
cmp ecx, 0x3f
jg 0x539fb3
je 0x539f90
cmp ecx, 0x3b
jg 0x539f05
je 0x539efb
cmp ecx, 0x2f
je 0x539ebd
jle 0x539e10
cmp ecx, 0x39
jle 0x539e25
cmp ecx, 0x3a
je 0x53a104
test byte [ecx + 0x6555d0], 0x46
jne 0x53a0e2
xor eax, eax
inc eax
jmp 0x53a12e
mov dword [esi], 0x81
movzx ecx, byte [ebx]
xor eax, eax
jmp 0x539e37
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x6555d0], dl
jne 0x539e32
cmp byte [eax + ebx], 0x2e
jne 0x539e58
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x6555d0], dl
jne 0x539e45
mov dword [esi], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x539e65
cmp cl, 0x45
jne 0x539eab
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x6555d0], dl
jne 0x539e8b
cmp cl, 0x2b
je 0x539e7e
cmp cl, 0x2d
jne 0x539eab
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x6555d0], dl
je 0x539eab
inc eax
inc eax
jmp 0x539e90
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x6555d0], dl
jne 0x539e8f
mov dword [esi], 0x82
jmp 0x539eab
mov dword [esi], 0x94
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x6555d0], 0x46
jne 0x539ea4
jmp 0x53a134
cmp byte [ebx + 1], 0x2a
jne 0x539ef0
mov cl, byte [ebx + 2]
test cl, cl
je 0x539ef0
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x539edb
cmp byte [eax + ebx], 0x2f
je 0x539eea
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x539d84
inc eax
jmp 0x539ed0
inc eax
jmp 0x539d84
mov dword [esi], 0x59
jmp 0x539d95
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x53a134
mov eax, ecx
sub eax, 0x3c
je 0x539f54
dec eax
je 0x539f3f
dec eax
jne 0x539e10
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x539f27
mov dword [esi], 0x50
jmp 0x539f63
cmp eax, 0x3e
jne 0x539f34
mov dword [esi], 0x55
jmp 0x539f63
mov dword [esi], 0x4d
jmp 0x539d95
xor eax, eax
mov dword [esi], 0x4c
cmp byte [ebx + 1], 0x3d
sete al
inc eax
jmp 0x53a134
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x539f6b
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x53a134
cmp eax, 0x3e
jne 0x539f78
mov dword [esi], 0x4b
jmp 0x539f63
cmp eax, 0x3c
jne 0x539f85
mov dword [esi], 0x54
jmp 0x539f63
mov dword [esi], 0x4f
jmp 0x539d95
xor eax, eax
mov dword [esi], 0x85
movzx ecx, byte [ebx + 1]
inc eax
mov dl, 4
jmp 0x539fa6
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x6555d0], dl
jne 0x539fa1
jmp 0x53a134
mov edx, ecx
sub edx, 0x40
je 0x53a104
sub edx, 0x18
je 0x53a081
sub edx, 3
je 0x53a055
sub edx, 5
je 0x53a012
sub edx, 0x18
je 0x53a081
sub edx, 4
je 0x539ff6
dec edx
dec edx
jne 0x539e10
mov dword [esi], 0x5d
jmp 0x539d95
cmp byte [ebx + 1], 0x7c
je 0x53a007
mov dword [esi], 0x53
jmp 0x539d95
mov dword [esi], 0x5b
jmp 0x539f63
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x53a02e
cmp edx, ecx
jne 0x53a029
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x53a032
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x53a01b
cmp edx, 0x27
jne 0x53a042
mov dword [esi], 0x5e
jmp 0x539f4e
test edx, edx
je 0x53a12e
mov dword [esi], 0x1a
jmp 0x539f4e
xor eax, eax
inc eax
jmp 0x53a063
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x53a068
inc eax
cmp ecx, 0x5d
jne 0x53a05a
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
mov dword [esi], edx
jmp 0x53a134
cmp byte [ebx + 1], 0x27
jne 0x539e10
push 2
mov dword [esi], 0x83
movzx ecx, byte [ebx + 2]
pop eax
jmp 0x53a0b6
cmp ecx, 0x27
je 0x53a0ba
movzx ecx, cl
test byte [ecx + 0x6555d0], 8
jne 0x53a0b1
mov dword [esi], 0x94
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x53a09a
mov edx, eax
and edx, 0x80000001
jns 0x53a0c9
dec edx
or edx, 0xfffffffe
inc edx
jne 0x53a0d3
test ecx, ecx
jne 0x539f4e
mov dword [esi], 0x94
test ecx, ecx
je 0x53a134
jmp 0x539f4e
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x53a0f0
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x6555d0], 0x46
jne 0x53a0eb
call fcn.00539bdf
mov dword [esi], eax
mov eax, edi
jmp 0x53a134
mov dword [esi], 0x85
movzx ecx, byte [ebx + 1]
xor edx, edx
test ecx, ecx
je 0x53a12e
movzx ecx, cl
test byte [ecx + 0x6555d0], 0x46
je 0x53a12a
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x53a114
test edx, edx
jne 0x53a134
mov dword [esi], 0x94
pop edi
pop ebx
ret