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

Disassembly:
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
movzx edx, byte [edi]
xor ebx, ebx
inc ebx
push 4
pop ecx
cmp edx, 0x2e
jg 0x1008903c
je 0x10089028
cmp edx, 0x26
jg 0x10088fa9
je 0x10088fa1
cmp edx, 0x22
jg 0x10088f50
je 0x10089293
cmp edx, 9
jl 0x10089073
cmp edx, 0xa
jle 0x10088f26
cmp edx, 0xb
jle 0x10089073
cmp edx, 0xd
jle 0x10088f26
cmp edx, 0x20
je 0x10088f26
cmp edx, 0x21
jne 0x10089073
cmp byte [edi + 1], 0x3d
push 2
pop eax
je 0x10088f1b
mov dword [esi], 0x94
jmp 0x10089406
mov dword [esi], 0x4b
jmp 0x10089406
movzx eax, byte [edi + 1]
xor edx, edx
inc edx
test byte [eax + 0x1018d1b0], dl
je 0x10088f43
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x1018d1b0], 1
jne 0x10088f35
mov dword [esi], 0x95
mov eax, edx
jmp 0x10089406
mov eax, edx
sub eax, 0x23
je 0x10088f70
dec eax
je 0x10089396
dec eax
jne 0x10089073
mov dword [esi], 0x5a
jmp 0x10088ff8
movzx eax, byte [edi + 1]
mov edx, ebx
test byte [eax + 0x1018d1b0], 4
je 0x10089396
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x1018d1b0], 4
jne 0x10088f83
cmp edx, ebx
jle 0x10089396
mov dword [esi], 0x84
jmp 0x10088f49
mov dword [esi], 0x52
jmp 0x10088ff8
mov eax, edx
sub eax, 0x27
je 0x10089293
dec eax
je 0x10089020
dec eax
je 0x10089018
dec eax
je 0x10089010
dec eax
je 0x10089008
dec eax
je 0x10089000
dec eax
jne 0x10089073
cmp byte [edi + 1], 0x2d
jne 0x10088ff2
movzx ecx, byte [edi + 2]
push 2
pop eax
jmp 0x10088fe3
cmp ecx, 0xa
je 0x10088fe7
inc eax
movzx ecx, byte [eax + edi]
test ecx, ecx
jne 0x10088fd9
mov dword [esi], 0x95
jmp 0x10089406
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x10089406
mov dword [esi], 0x19
jmp 0x10088ff8
mov dword [esi], 0x56
jmp 0x10088ff8
mov dword [esi], 0x58
jmp 0x10088ff8
mov dword [esi], 0x17
jmp 0x10088ff8
mov dword [esi], 0x16
jmp 0x10088ff8
movzx eax, byte [edi + 1]
test byte [eax + 0x1018d1b0], cl
jne 0x1008908b
mov dword [esi], 0x76
jmp 0x10088ff8
cmp edx, 0x3f
jg 0x10089234
je 0x10089207
cmp edx, 0x3b
jg 0x1008917c
je 0x10089172
cmp edx, 0x2f
je 0x10089134
jle 0x10089073
cmp edx, 0x39
jle 0x1008908b
cmp edx, 0x3a
je 0x10089396
test byte [edx + 0x1018d1b0], 0x46
jne 0x1008936b
mov dword [esi], 0x94
jmp 0x10088ff8
xor ebx, ebx
mov dword [esi], 0x81
test byte [edx + 0x1018d1b0], cl
je 0x100890a8
inc ebx
movzx eax, byte [ebx + edi]
test byte [eax + 0x1018d1b0], cl
jne 0x1008909b
cmp byte [ebx + edi], 0x2e
jne 0x100890c1
inc ebx
movzx eax, byte [ebx + edi]
test byte [eax + 0x1018d1b0], cl
jne 0x100890ae
mov dword [esi], 0x82
mov al, byte [ebx + edi]
cmp al, 0x65
je 0x100890cc
cmp al, 0x45
jne 0x1008910a
mov dl, byte [ebx + edi + 1]
movzx eax, dl
test byte [eax + 0x1018d1b0], cl
jne 0x100890f2
cmp dl, 0x2b
je 0x100890e5
cmp dl, 0x2d
jne 0x1008910a
movzx eax, byte [ebx + edi + 2]
test byte [eax + 0x1018d1b0], cl
je 0x1008910a
add ebx, 2
jmp 0x100890f8
inc ebx
movzx eax, byte [ebx + edi]
test byte [eax + 0x1018d1b0], cl
jne 0x100890f7
mov dword [esi], 0x82
movzx eax, byte [ebx + edi]
test byte [eax + 0x1018d1b0], 0x46
je 0x10089404
inc ebx
mov dword [esi], 0x94
movzx ecx, byte [ebx + edi]
test byte [ecx + 0x1018d1b0], 0x46
jne 0x1008911b
jmp 0x10089404
cmp byte [edi + 1], 0x2a
jne 0x10089167
mov cl, byte [edi + 2]
test cl, cl
je 0x10089167
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x10089152
cmp byte [eax + edi], 0x2f
je 0x10089161
movzx ecx, byte [eax + edi]
test ecx, ecx
je 0x10088fe7
inc eax
jmp 0x10089147
inc eax
jmp 0x10088fe7
mov dword [esi], 0x59
jmp 0x10088ff8
xor ebx, ebx
inc ebx
mov dword [esi], ebx
jmp 0x10089404
mov eax, edx
sub eax, 0x3c
je 0x100891cb
dec eax
je 0x100891b6
dec eax
jne 0x10089073
movzx eax, byte [edi + 1]
cmp eax, 0x3d
jne 0x1008919e
mov dword [esi], 0x50
jmp 0x100891da
cmp eax, 0x3e
jne 0x100891ab
mov dword [esi], 0x55
jmp 0x100891da
mov dword [esi], 0x4d
jmp 0x10088ff8
xor eax, eax
cmp byte [edi + 1], 0x3d
mov dword [esi], 0x4c
sete al
inc eax
jmp 0x10089406
movzx eax, byte [edi + 1]
cmp eax, 0x3d
jne 0x100891e2
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x10089406
cmp eax, 0x3e
jne 0x100891ef
mov dword [esi], 0x4b
jmp 0x100891da
cmp eax, 0x3c
jne 0x100891fc
mov dword [esi], 0x54
jmp 0x100891da
mov dword [esi], 0x4f
jmp 0x10088ff8
movzx eax, byte [edi + 1]
xor edx, edx
inc edx
test byte [eax + 0x1018d1b0], 4
mov dword [esi], 0x85
je 0x10088f49
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x1018d1b0], 4
jne 0x10089221
jmp 0x10088f49
mov eax, edx
sub eax, 0x40
je 0x10089396
sub eax, 0x18
je 0x10089307
sub eax, 3
je 0x100892df
sub eax, 5
je 0x10089293
sub eax, 0x18
je 0x10089307
sub eax, 4
je 0x10089277
dec eax
dec eax
jne 0x10089073
mov dword [esi], 0x5d
jmp 0x10088ff8
cmp byte [edi + 1], 0x7c
je 0x10089288
mov dword [esi], 0x53
jmp 0x10088ff8
mov dword [esi], 0x5b
jmp 0x100891da
movzx ebx, byte [edi + 1]
xor ecx, ecx
inc ecx
jmp 0x100892af
cmp ebx, edx
jne 0x100892aa
movzx eax, byte [edi + ecx + 1]
cmp eax, edx
jne 0x100892b3
inc ecx
inc ecx
movzx ebx, byte [ecx + edi]
test ebx, ebx
jne 0x1008929c
cmp ebx, 0x27
jne 0x100892c6
mov dword [esi], 0x5e
lea eax, [ecx + 1]
jmp 0x10089406
test ebx, ebx
je 0x100892d2
mov dword [esi], 0x1a
jmp 0x100892be
mov dword [esi], 0x94
mov eax, ecx
jmp 0x10089406
xor eax, eax
inc eax
jmp 0x100892ed
movzx edx, byte [eax + edi]
test edx, edx
je 0x100892f2
inc eax
cmp edx, 0x5d
jne 0x100892e4
push 0x1a
mov ecx, 0x94
pop edi
cmp edx, 0x5d
cmove ecx, edi
mov dword [esi], ecx
jmp 0x10089406
cmp byte [edi + 1], 0x27
jne 0x10089073
movzx eax, byte [edi + 2]
push 2
mov dword [esi], 0x83
pop ecx
jmp 0x10089325
inc ecx
movzx eax, byte [ecx + edi]
test byte [eax + 0x1018d1b0], 8
jne 0x10089320
mov dl, byte [ecx + edi]
cmp dl, 0x27
jne 0x10089346
mov eax, ecx
and eax, 0x80000001
jns 0x10089344
dec eax
or eax, 0xfffffffe
inc eax
je 0x1008935b
mov dword [esi], 0x94
jmp 0x10089357
cmp dl, 0x27
je 0x1008935b
inc ecx
mov dl, byte [ecx + edi]
test dl, dl
jne 0x1008934e
cmp byte [ecx + edi], 0
je 0x100892d8
inc ecx
jmp 0x100892d8
movzx eax, byte [edi + 1]
xor ebx, ebx
inc ebx
test byte [eax + 0x1018d1b0], 0x46
je 0x10089389
inc ebx
movzx ecx, byte [ebx + edi]
test byte [ecx + 0x1018d1b0], 0x46
jne 0x1008937b
mov edx, ebx
mov ecx, edi
call fcn.10088e23
mov dword [esi], eax
jmp 0x10089404
movzx ecx, byte [edi + 1]
xor edx, edx
mov dword [esi], 0x85
test ecx, ecx
je 0x100893fe
movzx eax, cl
test byte [eax + 0x1018d1b0], 0x46
je 0x100893b5
inc edx
jmp 0x100893ca
cmp ecx, 0x28
jne 0x100893be
test edx, edx
jg 0x100893d5
cmp ecx, 0x3a
jne 0x100893fa
cmp byte [edi + ebx + 1], cl
jne 0x100893fa
inc ebx
inc ebx
movzx ecx, byte [ebx + edi]
test ecx, ecx
jne 0x100893a6
jmp 0x100893fa
inc ebx
movzx ecx, byte [ebx + edi]
test ecx, ecx
je 0x100893ec
test byte [ecx + 0x1018d1b0], 1
jne 0x100893ec
cmp ecx, 0x29
jne 0x100893d5
cmp ecx, 0x29
jne 0x100893f4
inc ebx
jmp 0x100893fa
mov dword [esi], 0x94
test edx, edx
jne 0x10089404
mov dword [esi], 0x94
mov eax, ebx
pop edi
pop esi
pop ebx
ret